CS-303 Programming Fundamentals – Course Outline, Learning Outcomes & Study Materials
Explore the CS-303 Programming Fundamentals course outline, including learning outcomes, problem-solving techniques, programming concepts, course assessment, and reference materials.
CS-303 Programming Fundamentals
- Course Title: Programming Fundamentals
- Course Code: CS-303
- Credit Hours: 3 (3-0)
Course Learning Outcomes (CLOs)
By the end of this course, students will be able to:
- Understand basic problem-solving steps and programming logic constructs.
- Apply fundamental programming concepts to solve computational problems.
- Design and implement algorithms to solve real-world problems.
Course Contents
1. Introduction to Computing and Programming
- Introduction to problem-solving
- Brief review of Von Neumann architecture
- Introduction to programming
- Role of compiler and linker
- Introduction to algorithms
2. Programming Fundamentals
- Basic data types and variables
- Input and output operations
- Arithmetic, comparison, and logical operators
3. Control Structures
- Conditional statements
- Execution flow of conditional statements
- Repetitive statements (loops)
- Execution flow of repetitive statements
4. Lists and Memory Organization
- Lists and their memory organization
- Multidimensional lists
5. Functions and Modular Programming
- Introduction to modular programming
- Function definition and function calls
- Function stack: calling, rolling, and unrolling
6. Strings and Memory Management
- Strings and string operations
- Pointers and references
- Static and dynamic memory allocation
7. File Handling
- File input and output (File I/O) operations
Teaching Methodology
- Lectures
- Written assignments
- Practical laboratory sessions
- Semester project
- Student presentations
Course Assessment
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
| Assessment Component |
Weightage |
| Midterm Examination |
30% |
| Sessional Assessment |
10% |
| Final Examination |
60% |
| Total |
100% |
Reference Materials
- Starting Out with Python, 4th Edition — Tony Gaddis.
- Starting Out with Programming Logic and Design, 4th Edition — Tony Gaddis.
- The C Programming Language, 2nd Edition — Brian W. Kernighan and Dennis M. Ritchie.
- Object-Oriented Programming in C++ — Robert Lafore.
- Introduction to Computation and Programming Using Python: With Application to Understanding Data, 2nd Edition — John V. Guttag.
- Practice of Computing Using Python, 3rd Edition — William Punch and Richard Enbody.
- C How to Program, 7th Edition — Paul Deitel and Harvey Deitel.
- Problem Solving and Program Design in C++, 7th Edition — Jeri R. Hanly and Elliot B. Koffman.