CS 2303: Systems Programming Concepts
C20 (Freshman Year, Second Semester)



Course Description

“Cat. I This course introduces students to a model of programming where the programming language exposes details of how the hardware stores and executes software. Building from the design concepts covered in CS 2102, this course covers manual memory management, pointers, the machine stack, and input/ output mechanisms. The course will involve large-scale programming exercises and will be designed to help students confront issues of safe programming with system-level constructs. The course will cover several tools that assist programmers in these tasks. Students will be expected to design, implement, and debug programs in C++ and C. The course presents the material from CS 2301 at a fast pace and also includes C++ and other advanced topics. Recommended background: CS 2102, CS 2103, or CS 2119 and/or substantial object-oriented programming experience.”



Languages/Technologies



Concepts Learned



Projects



My Experience

CS 2303 prepared me for future low-level programming courses by teaching C and C++. It also went over low-level concepts such as introducing memory management and pointers The class also went over general object-oriented concepts, but in the perspective of lower level programming languages.