This repository contains lecture materials, code examples, and practice problems for the course Program Design I (PD1) offered by the Department of Computer Science and Information Engineering at National Cheng Kung University (NCKU).
The course introduces foundational C programming concepts, including:
-
C Programming Fundamentals
- Data types, operators, and expressions
- Control structures (conditionals & loops)
- Function declaration and scope
-
Advanced Programming Concepts
- Recursion and recursive thinking
- Pointers and memory addressing
- Dynamic memory allocation (
malloc
,free
) - String manipulation and array handling
- Structures, unions, and enumerations
- Linked lists and basic data structure manipulation
NCKU-Programing_Design_I/
│
├── Handouts/ # Course handouts and notes
├── Lec00 Coding Environment/ # Environment setup and basic tools
├── Lec02 C Fundamentals/
├── Lec03 Control Structures/
├── Lec04 DataTypes/
├── Lec05 Arrays/
├── Lec06 Function and Scope/
├── Lec07 Recursion/
├── Lec08 Pointers/
├── Lec09 Pointers and Arrays/
├── Lec10 String/
├── Lec11 Structures Unions and Enumerations/
├── Lec12 Dynamic Memory Management/
├── Lec13 Linked List/
├── Midterm-2020/ # Past midterm practice
└── Midterm-2021/ # Past midterm practice
Each folder includes annotated code examples and exercises that align with lecture topics.