Computer Programming
Course Details
- Course Title: Computer Programming
- Course Code: CS-1410
- Credit Hours: 3+1 (Theory + Lab)
- Pre-requisite: None
- Offered To: BS (SE), BS (IT), BS (CS)
- Level: Undergraduate
- Institution: Mohammad Ali Jinnah University, Karachi, Pakistan
- Faculty: Department of Computer Science
- Semester Offered: Spring 2018
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. This course includes hands-on experience with input/output operations, array manipulations, and implementing basic search and sorting algorithms. Additionally, special attention is given to enhancing problem-solving abilities and logical thinking through programming exercises and projects. The course pace is adaptable to meet student needs, ensuring a thorough comprehension of fundamental programming concepts.
Learning Outcomes
Students will develop essential programming skills and analytical capabilities pertinent to software development after completing this course. They will gain proficiency in designing algorithmic solutions using C/C++, mastering fundamental concepts such as modular design, input/output operations, and control structures, including loops and conditionals. Students will engage with complex data structures such as arrays and strings while acquiring knowledge of pointers and memory management. The course also encompasses file operations, recursion, and basic search and sorting algorithms. Students will test and validate their programs through hands-on exercises and projects, establishing a strong foundation for advanced programming and real-world challenges.
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 |
Assessment Criteria
Theory
- Quizzes, Assignments, Presentations: 20 Marks
- Mid-term Examination: 30 Marks
- Final Examination: 50 Marks
Lab
- Quizzes, Assignments, Presentations: 20 Marks
- Lab Manual: 12 Marks
- Viva Voice: 18 Marks
- Total: 50 Marks