CMSC 21: Fundamentals of Programming
Course Description
Expansion and development of material introduced in CMSC 11. Processing of files
and linked-lists; Programming in the C language; Recursion; Systematic program
development; Top-down design and program verification. 3 units (2 lec, 3 lab).
Course Learning Outcomes
After completion of the course, the student should be able to:
- Apply the fundamentals of computer programming and developer tools in writing programs.
- Present the syntax and semantics of the āCā language.
- Process files and implement linked list data structures.
- Program using standard C language infrastructure regardless of the hardware or software platform.
Course Outline
Unit 1. Introduction to C and its Basic Concepts
- Keywords and Identifiers
- Variables, Constants, and Literals
- Data Types
- Input/Output
- Operators
Unit 2. Decision Control Statements
- If-else
- Switch-case
Unit 3. Loops
- Types of Loops
- Loop Control Statements
- Infinite Loops
Unit 4. Functions
- Programming Functions and User-defined Functions
- Function Types
Unit 5. Recursion
- Concept of Recursion
- Application of Recursion
Unit 6. Storage Classes
Unit 7. Arrays
- Programming Arrays
- Arrays and Functions
Unit 8. Pointers
- Programming Pointers
- Pointers and Arrays
- Pointers and Functions
Unit 9. Memory Allocation
Unit 10. Strings
- Programming Strings
- String Functions
- String Examples
Unit 11. Structures
- Introduction
- Structures and Pointers
- Structures and Functions
- Programming Union
Unit 12. Files Input/Output
Unit 13. Preprocessors and Built-in Libraries