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 |
Ahsan Ayaz |
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) |
How to write C++ program (Seventh Edition) By Deitel deitel |
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 Goals the course is: • To get familiar with Programming language of computer science by studying different theoretical computational models. • To understand different formal language and their relationships • To learn the problem-solving skills. • How theory of automata is helpful to design of new programming techniques, etc. • How can we formally define the languages so that they are unambiguous? |
Course Learning Outcomes (CLOs): |
At the end of the course the students will be able to: | Domain | BT Level* |
understand and utilize concepts: Variables, Operators, Statements, Functions |
C |
1 |
use fundamental programming constructs: sequence, repetition, conditional logic and branching |
C |
3 |
develop programs in a functional form |
C |
3 |
process data in arrays |
P |
4 |
* 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 Programming |
|
2 |
Problem Solving Method |
Week 2 |
3 |
Basic syntax of C |
|
4 |
Algorithm in c |
Week 3 |
5 |
Introduction to Flow chart |
|
6 |
Basic programs. |
Week 4 |
7 |
Arithmetic’s operators |
|
8 |
Increment decrement operators. |
Week 5 |
9 |
Quiz conducted |
|
10 |
Local global variables. |
Week 6 |
11 |
Conditional operators. |
|
12 |
If statement If else, else if |
Week 7 |
13 |
nested if, Switch, Loops, |
|
14 |
WHILE ,do-While, For loop. |
Week 8 |
1 hours |
Mid Term |
Week 9 |
15 |
Arrays |
|
16 |
Insertion and deletion. |
Week 10 |
17 |
Searching in Array. |
|
18 |
Sequential search, Binary search, Sorting |
Week 11 |
19 |
2-D Array. |
|
20 |
Searching in 2-D array. |
Week 12 |
21 |
Assignment and quiz conduct. |
|
22 |
Functions. |
Week 13 |
23 |
Functions type, scope, life, call |
|
24 |
Local global functions, parameters/arguments. |
Week 14 |
25 |
Functions with array, functions with loops. Call by value call by reference. |
|
26 |
Function over riding, function overloading |
Week 15 |
27 |
Pointers, addresses, |
|
28 |
Pointers with functions/array/loops. |
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 |
|