Course Code |
CSC313 |
Course Title |
Programming Fundamentals |
Credit Hours |
3+1 |
Prerequisites by Course(s) and Topics |
Nill |
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 |
Ayesha Nasir |
URL (if any) |
NIL |
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) |
C How to Program, 7th Edition by Paul Deitel & Harvey Deitel |
Reference Material |
1) Behrouz A. Forouzan, “A Structured Programming Approach Using C++”. 2) Joyce Farrel, “Programming Logic and Design”, 2nd, Thomson Press. 3) Nell Dale, Chip Weems, “Programming and Problem Solving with C++”, 5th |
Course Goals |
Students will be able to: 1) differentiate between the data and instructions part of an object definition. 2) Select access level/modifiers to achieve appropriate level of encapsulation. 3) Select appropriate fields to include within a class. 4) Design and implement programs where two or more classes interact. 5) Understand how packages are used to organize classes and how they are used in import statements. 6) Be able to describe the difference between: a class and an object, object reference and primitive variable, object reference and object in memory |
Course Learning Outcomes (CLOs): |
At the end of the course the students will be able to: | Domain | BT 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) |
Week | Lecture | Topics 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++, Assignment |
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, Quiz, Assignment |
Week 6 |
11 |
Single Alternate decision structure and dual alternate decision Structure. |
|
12 |
Nested Decision Structures |
Week 7 |
13 |
Switch Statments |
|
14 |
Practice of Decision Structures, Quiz |
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 |
Do While Loop, Nested While |
|
18 |
For loop, Nested for loop |
Week 11 |
19 |
Printing different shapes in C++ using Nested Loops |
|
20 |
Practice, Assignment |
Week 12 |
21 |
Arrays |
|
22 |
Arrays and their memory organization, Quiz |
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, Quiz |
Week 15 |
27 |
References to Variables |
|
28 |
Pointers , Call by value & call by reference |
Week 16 |
29 |
File I/O operations |
|
30 |
File I/O operations, Assignment |
Week 17 |
2 hours |
Final Term |
|
Laboratory Projects/Experiments Done in the Course |
|
Programming Assignments Done in the Course |
|