COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Fall 2021
Course Description : 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, string and string operations, pointers/references, static and dynamic memory allocation, File I/O operations
Course Code CSC313
Course Title Programming Fundamentals
Credit Hours 3+1
Prerequisites by Course(s) and Topics N/A
Assessment Instruments with Weights (homework, quizzes, midterms, final, programming assignments, lab work, etc.) SESSIONAL (Quizzes, Assignments, Presentations) =25 %
Midterm Exam =25 %
Final Exam = 50%
Course Coordinator Muhammad Asfand Yar
URL (if any)
Current Catalog Description 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, string and string operations, pointers/references, static and dynamic memory allocation, File I/O operations
Textbook (or Laboratory Manual for Laboratory Courses) Object Oriented Programming in C++ by Robert Lafore
Reference Material 1. Starting out with Python, 4th Edition, Tony Gaddis. 2. Starting out with Programming Logic & Degins, 4th Edition, Tony Gaddis, 3. The C Programming Language, 2nd Edition by Brian W. Kernighan, Dennis M. Ritchie 4. Object Oriented Programming in C++ by Robert Lafore 5. Introduction to Computation and Programming Using Python: With Application to Understanding Data, 2nd Edition by Guttag, John 6. Practice of Computing Using Python, 3rd Edition by William Punch & Richard Enbody 7. C How to Program, 7th Edition by Paul Deitel & Harvey Deitel 8. Problem Solving and Program Design in C++, 7th Edition by Jeri R. Hanly & Elliot B. Koffman
Course Goals The objective of course is to introduce a disciplined approach to Problem solving methods and algorithm development. The aim is to teach the syntax and vocabulary of a modern programming language like C++. The significant philosophies and logical programming, including models for I/O, processing, and all related terminology will be taught. Simple programs will be constructed, using a number of different logical, calculation and algorithm.
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to:DomainBT Level*
Understand basic problem solving steps and logic constructs C 2
Apply basic programing concepts C 3
Design and implement algorithms to solve real world problems. C 3
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain
Topics Covered in the Course, with Number of Lectures on Each Topic (assume 15-week instruction and one-hour lectures)
WeekLectureTopics Covered
Week 1 1 Introduction to problem solving,
2 review of Von-Neumann architecture
Week 2 3 Introduction to programming, role of compiler and linker, introduction to algorithms, basic data types and variables
4 input/output In C++
Week 3 5 Creating , editing, linking, execution and debugging of C++ program Practice Exercise
6 Constants, Operators Expression, Assignment statement
Week 4 7 Sequential Structure
8 arithmetic, comparison and logical operators
Week 5 9 Boolean Expressions & Compound Boolean Expressions
10 conditional statements and execution flow for conditional statements
Week 6 11 Single Alternate decision structure and dual alternate decision Structure.
12 Nested Decision Structures
Week 7 13 Switch Statments
14 Quiz, Practice of Decision Structures
Week 8 1 hours Mid Term
Week 9 15 Repetition Structures Introduction, (while, do while & for loop)
16 While & do While Loop Practice
Week 10 17 for loop
18 Nested loop
Week 11 19 Printing different shapes in C++ using Nested Loops
20 Practice+ 30 min QUIZ
Week 12 21 Arrays
22 Arrays and their memory organization
Week 13 23 2-dimensional Arrays
24 multi-dimensional Arrays, string and string operations
Week 14 25 Functions Introduction, type of functions built-in and user defiend
26 Declaring, Defining and Calling a function
Week 15 27 references to Variables
28 pointers , Call by value & call by reference
Week 16 29 File I/O operations
30 Practice file handling
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course
Programming Assignments Done in the Course
Instructor Name Muhammad Asfand Yar
Instructor Signature
Date