Systems Programing

Victoria University of Wellington

Course Description

  • Course Name

    Systems Programing

  • Host University

    Victoria University of Wellington

  • Location

    Wellington, New Zealand

  • Area of Study

    Computer Engineering, Engineering Science, Systems Engineering

  • Language Level

    Taught In English

  • Prerequisites

    COMP103

  • Course Level Recommendations

    Upper

    ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.

    Hours & Credits

  • Credit Points

    15
  • Recommended U.S. Semester Credits
    3 - 4
  • Recommended U.S. Quarter Units
    4 - 6
  • Overview

    Description
    This course considers the issues raised when programming at a low-level, for example in embedded systems, OS system level, or network protocol stacks. Topics include: an introduction to C language programming; and higher- level systems programming using Python scripting language. It will include motivating examples related to a wide variety of applications of system programming.

    Course Learning Objectives
    Systems Programming is part of the Engineering and the BSc in Computer Science programmes at Victoria University of Wellington. BE and BSc (COMP) graduates are expected to exhibit a number of graduate attributes at the completion of the program. This course contributes to the graduate attributes (GA) as indicated below. A full table of these attributes is available at Graduate Attributes.

    By the end of the course, students are expected to have developed programming skills in C and Python. In C, a particular focus is on memory management. Specifically, students should:
    1. Be able to use appropriate tools compiling/debugging C programs (GA BE 3(a), BE 3(d), BE 3(f), BSc (1)).
    2. Be able to write C programs using pointers and arrays, user-defined data types, input/output operations, bit-level operations, and user-defined and library routines (GA BE 3(a), BE 3(b), BE 3(d), BE 3(e), BE 3(f), BSc (1), BSc (4)).
    3. Be able to use or understand the main techniques of dynamic memory management in C (GA BE 3(a), BE 3(e), BE 3(f), BSc (1)).
    4. Be able to structure larger programs in multiple files (GA BE 3(e), BE 3(f), BSc (1)).
    5. Be able to write simple Python programs (GA BE 3(a), BE 3(b), BE 3(e), BE 3(f), BSc (1)).
    6. Understand the diferences between scripting and procedural programming languages (GA BE 3(a), BE 3(e), BE 3(f), BSc (1)).
    7. Have developed skill at learning new programming languages(GA BE 3(a), BE 3(e), BE 3(f), BSc (1)).

    Assessment
    C: Assignment 1 2.5%
    C: Assignment 2 2.5%
    C: Assignment 3 5%
    C: Lab Project 15%
    Python: Assignment 1 2.5%
    Python: Assignment 2 2.5%
    Python: Lab Project 10%
    Final Examination 60%

Course Disclaimer

Courses and course hours of instruction are subject to change.

Eligibility for courses may be subject to a placement exam and/or pre-requisites.

Some courses may require additional fees.

Credits earned vary according to the policies of the students' home institutions. According to ISA policy and possible visa requirements, students must maintain full-time enrollment status, as determined by their home institutions, for the duration of the program.

Please reference fall and spring course lists as not all courses are taught during both semesters.

Availability of courses is based on enrollment numbers. All students should seek pre-approval for alternate courses in the event of last minute class cancellations

Please note that some courses with locals have recommended prerequisite courses. It is the student's responsibility to consult any recommended prerequisites prior to enrolling in their course.