Computer Programming
Computer Programming
Course Information
Institution: Mohammad Ali Jinnah University, Karachi, Pakistan
Department: Computer Science
Level: Undergraduate
Prerequisites: None
Course Description
This foundational course introduces students to computer programming through the C/C++ programming language, requiring no prior experience. The curriculum is structured to establish a solid understanding of programming fundamentals, beginning with basic concepts and progressively advancing to more complex topics. Students will learn essential programming constructs, including variable types, operators, control flow mechanisms, functions, and program structure.
Learning Outcomes
Upon successful completion of this course, students will be able to:
- Design algorithmic solutions using C/C++ programming language
- Master fundamental programming concepts including modular design and control structures
- Implement input/output operations and handle data types effectively
- Work with complex data structures such as arrays and strings
- Apply knowledge of pointers and memory management techniques
- Implement file operations, recursion, and basic search and sorting algorithms
- Test and validate programs through systematic debugging approaches
Course Outline
| Lecture | Topic |
|---|---|
| 1 | Introduction to Programming: Basic Concepts |
| 2 | Programming Process and Problem-Solving Approaches |
| 3 | Basic Elements of C/C++: Data Types and Variables |
| 4 | Operators and Expressions in C++ |
| 5 | Input/Output Basics: cin and cout |
| 6 | Advanced Input/Output Operations |
| 7 | Program Debugging Techniques |
| 8 | Decision Making: if Statements |
| 9 | Decision Making: switch Statements |
| 10 | Looping Structures: while Loops |
| 11 | Looping Structures: for Loops |
| 12 | Looping Structures: do-while and Nested Loops |
| 13 | Functions: Introduction and Basic Concepts |
| 14 | Functions: Parameters and Return Types |
| 15 | Functions: Scope and Storage Classes |
| 16 | 1D Arrays: Declaration and Initialization |
| 17 | 1D Arrays: Operations and Algorithms |
| 18 | 2D Arrays: Concepts and Declaration |
| 19 | 2D Arrays: Operations and Applications |
| 20 | String Basics and Character Arrays |
| 21 | String Manipulation and Library Functions |
| 22 | Structures: Definition and Usage |
| 23 | Dynamic Memory Allocation |
| 24 | File Handling: Text Files |
| 25 | File Handling: Binary Files |
| 26 | Pointers: Basic Concepts |
| 27 | Pointers with Arrays and Functions |
| 28 | Recursion: Concepts and Implementation |
| 29 | Recursive Problem Solving |
| 30 | C++ Standard Library Overview |
| 31 | SFML Basics and Setup |
| 32 | SFML Graphics Programming |