Course Description
-
Course Name
Systems Programming
-
Host University
Vrije Universiteit Amsterdam
-
Location
Amsterdam, The Netherlands
-
Area of Study
Computer Science
-
Language Level
Taught In English
-
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.
-
ECTS Credits
6 -
Recommended U.S. Semester Credits3
-
Recommended U.S. Quarter Units4
Hours & Credits
-
Overview
COURSE OBJECTIVE
The goal of this course is to prepare students for lab assignments and scientific research in computer systems (operating systems, compiler construction, network programming, computer networks, parallel programming, etc.) After attending this course, students should be able to develop, test, and debug "systems" programs written in C under Linux or BSD.COURSE CONTENT
The course is a combination of lectures and lab assignments. During the course, the student is taught how to program in C, use POSIX APIs for process control and networking, understand memory management, use low-level debugging and verification tools, and use performance profiling tools.TEACHING METHODS
Lectures in combination with several lab assignments to be returned during the study period. Extensive help will also be provided by ways of questions and answers sessions, and a discussion mailing list.TYPE OF ASSESSMENT
The student will be graded based on the lab assignments he or she handed in (i.e., a Practicum). Exact grading scheme announced at the start of the course. There is a resit opportunity later in the year.ENTRY REQUIREMENTS
- must have studied algorithms (incl. sorting, basic graph processing) and data structures (incl. lists, trees, priority queues);
- must have basic understanding of Unix concepts (directory tree, file permissions,terminal).RECOMMENDED BACKGROUND KNOWLEDGE
Prior experience with another language from the C family (eg. Java, Arduino-C, C++, Objective-C, C# or D) is strongly recommended.
Course Disclaimer
Courses and course hours of instruction are subject to change.
Some courses may require additional fees.