NWEN241 (2024) - Systems Programming
Prescription
This course considers the issues raised when programming at a low-level, for example in embedded systems, OS system level, or network protocol stacks. It includes an introduction to C language programming and motivating examples related to a wide variety of applications of system programming.
Course learning objectives
Students who pass this course should be able to:
- Use appropriate tools compiling/debugging C/C++ programs.
- Write C programs using pointers and arrays, user-defined data types, input/output operations, bit-level operations, and user-defined and library routines.
- Understand the differences between C and C++, and write C++ programs using stream input/output, classes, vectors and templates.
- Use or understand the main techniques of dynamic memory management in C and C++.
- Structure larger programs in multiple files.
- Understand the differences between application software and system software.
Course content
We’ve designed this course for in-person study, and to get the most of out it we strongly recommend you attend lectures on campus. Most assessment items, as well as tutorials/seminars/labs/workshops will only be available in person. Any exceptions for in-person attendance for assessment will be looked at on a case-by-case basis in exceptional circumstances, e.g., through disability services or by approval by the course coordinator.
Withdrawal from Course
Withdrawal dates and process:
https://www.wgtn.ac.nz/students/study/course-additions-withdrawals
Lecturers
Dr Jyoti Sahni (Coordinator)
- jyoti.sahni@vuw.ac.nz
- AM 414 Alan Macdiarmid Building, Gate 7, Kelburn Parade, Kelburn
Dr Alvin Valera
- alvin.valera@vuw.ac.nz
- AM 418 Alan Macdiarmid Building, Gate 7, Kelburn Parade, Kelburn
Teaching Format
During the trimester there will be three lectures per week where the third lecture is a tutorial-style lecture. There are practical (programming) assignments and exercises that require students to apply the concepts taught during the lectures.
Dates (trimester, teaching & break dates)
- Teaching: 26 February 2024 - 31 May 2024
- Break: 01 April 2024 - 14 April 2024
- Study period: 03 June 2024 - 06 June 2024
- Exam period: 07 June 2024 - 22 June 2024
Other Classes
From Weeks 2-12, Helpdesk Sessions will be conducted in CO246. Tutor(s) will be present to assist students who have questions on exercises and assignments. See course wiki at https://ecs.wgtn.ac.nz/Courses/NWEN241_2024T1/ for more details.
Set Texts and Recommended Readings
Required
There are no required texts for this offering.
Recommended
There are many good C/C++ programming books available in the library. Below are some recommended books for this course:
- Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language [2nd Edition], Prentice Hall, 1988.
- Perry, Gregory, C Programming Absolute Beginner's Guide, [Third Edition], Pearson Education, 2014.
- Kochan, Stephen, Programming in C [Fourth Edition], Addison-Wesley, 2015.
- Love, Robert, Linux System Programming [2nd Edition], O'Reilly, 2013.
- Donahoo, Michael, TCP/IP Sockets in C [2nd Edition], Morgan Kaufmann, 2009.
- D.S. Malik, C++ Programming [8th Edition], Cengage, 2017.
Mandatory Course Requirements
In addition to achieving an overall pass mark of at least 50%, students must:
- Submit a reasonable attempt at 3/4 of the assignments.
- Obtain a D grade or better in the final test.
If you believe that exceptional circumstances may prevent you from meeting the mandatory course requirements, contact the Course Coordinator for advice as soon as possible.
Assessment
This course will be assessed through assignments, exercises, a mid-term test, and a final test.
Assessment Item | Due Date or Test Date | CLO(s) | Percentage |
---|---|---|---|
Assignments - 4 in total | Weeks 4, 7, 10, 12 | CLO: 1,2,3,4,5 | 20% |
Exercises - 4 in total | Weeks 2, 5, 8, 10 | CLO: 1,2,3,4,5 | 10% |
Mid-term Test | Week 6 | CLO: 1,2,3,4 | 15% |
Final Test (2 hours) | TBC (during assessment period) | CLO: 2,3,4,5,6 | 55% |
Penalties
For the EXERCISES. Any exercise submitted after the deadline (normally 23:59 on Wednesdays) will not be marked and will get 0 marks. There are no "late days" for exercises.
For the ASSIGNMENTS. Any assignment if submitted up to 24 hours after the deadline will be penalised by 20%, if submitted between 24 and 48 hours after the deadline will be penalised by 40%. Assignment submitted 48 hours or more after the deadline will not be marked and will get 0 marks.
LATE DAYS POLICY (for Assignments). Each student will have three "late days" which you may choose to use for any assignment(s) during the course. There will be no penalty applied for these late days. You do not need to apply for these, instead any late days you have left will be automatically applied to assignments that you submit late.
Extensions
Requests for assignment deadline extensions must be sent in writing (email) well before the deadline to the course coordinator, attaching any relevant supporting documents, e.g. medical certificate from doctor.
Submission & Return
AI Red - Students are not allowed to use AI tools (ChatGPT, Bing Chat, Github Copilot, Google Bard, Moonbeam, etc...) to generate submitted material, or complete coursework in this course.
Assignments and exercises to be submitted using the ECS online submission system, accessible through the course web pages. Marks and comments will be returned through the ECS marking system, also available through the course web pages. See course wiki at https://ecs.wgtn.ac.nz/Courses/NWEN241_2024T1/ for more details.
Student submitted work may be used during the formal Engineering NZ re-accreditation visit to VUW scheduled for 2024, as part of the evaluation process for the programme.
Marking Criteria
As stated in the respective assignment handouts.
Required Equipment
Refer to https://ecs.wgtn.ac.nz/Courses/NWEN241_2024T1/ for details.
Workload
The total workload for NWEN 241 is 150 hours. In order to maintain satisfactory progress in NWEN 241, you should plan to spend an average of 10 hours per week on this course.
Teaching Plan
See https://ecs.wgtn.ac.nz/Courses/NWEN241_2024T1/LectureSchedule
Communication of Additional Information
You must regularly check the course Wiki page at https://ecs.wgtn.ac.nz/Courses/NWEN241_2024T1/ for the latest information on the course, e.g. lecture schedule, assignments, reading materials, etc.
Links to General Course Information
- Academic Integrity and Plagiarism: https://www.wgtn.ac.nz/students/study/exams/academic-integrity
- Academic Progress: https://www.wgtn.ac.nz/students/study/progress/academic-progess (including restrictions and non-engagement)
- Dates and deadlines: https://www.wgtn.ac.nz/students/study/dates
- Grades: https://www.wgtn.ac.nz/students/study/progress/grades
- Special passes: Refer to the Assessment Handbook, at https://www.wgtn.ac.nz/documents/policy/staff-policy/assessment-handbook.pdf
- Statutes and policies, e.g. Student Conduct Statute: https://www.wgtn.ac.nz/about/governance/strategy
- Student support: https://www.wgtn.ac.nz/students/support
- Students with disabilities: https://www.wgtn.ac.nz/st_services/disability/
- Student Charter: https://www.wgtn.ac.nz/learning-teaching/learning-partnerships/student-charter
- Student Feedback on University courses may be found at: http://www.cad.vuw.ac.nz/feedback/feedback_display.php
- Terms and Conditions: https://www.wgtn.ac.nz/study/apply-enrol/terms-conditions/student-contract
- Turnitin: http://www.cad.vuw.ac.nz/wiki/index.php/Turnitin
- University structure: https://www.wgtn.ac.nz/about/governance/structure
- The Use of Te Reo Māori for Assessment Policy:
Victoria University values te reo Māori. Students who wish to submit any of their assessments in te reo Māori must refer to The Use of Te Reo Māori for Assessment Policy
He mea nui te reo Māori ki te Whare Wānanga o te Ūpoko o te Ika. Ki te pīrangi koe ki te tuhituhi i ō aro matawai i roto i te reo Māori, tēnā me mātua whakapā atu ki te kaupapa here, The Use of Te Reo Māori for Assessment Policy - VUWSA: http://www.vuwsa.org.nz
Offering CRN: 18315
Points: 15
Prerequisites: COMP 103
Duration: 26 February 2024 - 23 June 2024
Starts: Trimester 1
Campus: Kelburn