Course Introduction:

This course aims to Develop a greater understanding of the issues involved in programming language design and implementation. Develop an in-depth understanding of functional, logic, and object-oriented programming paradigms. Understand design/implementation issues involved with variable allocation and binding, control flow, types, subroutines, parameter passing. Introduction to the use of the C/C++ programming language as an aid to solving mathematical and scientific problems. Students will design, write, and implement programs.

Course Learning Outcomes:

Upon successful completion of this course, the student will have reliably demonstrated the ability to:

  • Solve basic programming problems using a variety of skills and strategies.
  • Use pseudo-code and visual modeling to prepare clear and accurate program documentation and models.
  • Examine working programs to identify their structures .
  • Apply appropriate techniques to create entry-level programs from models.

Course Code: CMP-101

CCredit Hours: 4(3+1)​

Textbooks:

1-      C++ How to Program, 10th Edition by Paul Deitel and Harvey Deitel, Pearson; 10th edition (January 1, 2001). ISBN-10:  9780134448237

2-      Object-Oriented Programming in C++ by Robert Lafore, CourseSams Publishing; 4 edition; ISBN-10: 0672323087.

Assessment Criteria:

Sessional Marks: 20 Marks (Quiz + Assignment + Presentation)

Mid Semester Exam: 20 Marks

Final Semester Exam: 40 Marks

Lab: 20 Marks

Course Contents:

Following contents will be covered in this course

 

  1. Overview of Computer Programming.
  2. Principles of Structured and Modular Programming.
  3. Overview of Structured Programming Languages.
  4. Algorithms and Problem Solving.
  5. Program Development: Analyzing Problem, Designing Algorithm/Solution, Testing Designed Solution. Translating Algorithms into Programs.
  6. Fundamental Programming Constructs.
  7. Data Types.
  8. Basics of Input and Output.
  9. Selection and Decision (If, If-Else, Nested If-Else, Switch Statement and Condition Operator).
  10. Repetition (While and For Loop, Do-While Loops)
  11. Break Statement, Continues Statement. Control Structures.
  12. Functions, Passing arguments: by-reference, by-value
  13. Arrays: sorting, searching
  14. Structures: Accessing Structure Members, Using Structures with Functions
  15. Pointers.
  16. File Processing:Sequential-Access File, Random-Access Files.