COMPUTER SCIENCE


Course Credits: 3 Units

Prerequisites: CMSC 11

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:

  1. Apply the fundamentals of computer programming and developer tools in writing programs.
  2. Present the syntax and semantics of the ā€œCā€ language.
  3. Process files and implement linked list data structures.
  4. Program using standard C language infrastructure regardless of the hardware or software platform.
Course Outline

Unit 1. Introduction to C and its Basic Concepts

  1. Keywords and Identifiers
  2. Variables, Constants, and Literals
  3. Data Types
  4. Input/Output
  5. Operators

Unit 2. Decision Control Statements

  1. If-else
  2. Switch-case

Unit 3. Loops

  1. Types of Loops
  2. Loop Control Statements
  3. Infinite Loops

Unit 4. Functions

  1. Programming Functions and User-defined Functions
  2. Function Types

Unit 5. Recursion

  1. Concept of Recursion
  2. Application of Recursion

Unit 6. Storage Classes

Unit 7. Arrays

  1. Programming Arrays
  2. Arrays and Functions

Unit 8. Pointers

  1. Programming Pointers
  2. Pointers and Arrays
  3. Pointers and Functions

Unit 9. Memory Allocation

Unit 10. Strings

  1. Programming Strings
  2. String Functions
  3. String Examples

Unit 11. Structures

  1. Introduction
  2. Structures and Pointers
  3. Structures and Functions
  4. Programming Union

Unit 12. Files Input/Output

Unit 13. Preprocessors and Built-in Libraries