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