CSC 112 - Programming Fundamentals

Course objectives

The objectives of a programming fundamentals course are to introduce students to the fundamental concepts of programming and to develop their problem-solving skills. Students learn the syntax and vocabulary of a programming language, and how to apply algorithms and good programming practices to develop software.   

Course learning outcomes (CLOs)

CLO: 1. Understand basic problem solving steps and logic constructs [C2]

CLO: 2. Apply basic programing concepts [C3]

CLO: 3. Design algorithms to solve complex problems using structures and functions [C5]

Course Outline

Introduction to problem solving, a brief review of Von-Neumann architecture, Introduction to programming, role of compiler and linker, introduction to algorithms, basic data types and variables, input/output constructs, arithmetic, comparison and logical operators, conditional statements and execution flow for conditional statements, repetitive statements and execution flow for repetitive statements, lists and their memory organization, multi-dimensional lists, introduction to modular programming, function definition and calling, stack rolling and unrolling, designing algorithms, string and string operations, pointers/references, static and dynamic memory allocation, File I/O operations.