United States Air Force Academy · Department of Computer and Cyber Sciences

CS210 · Programming Fundamentals

Fall 2026 · Course Director: Maj Sarah Bolton

Welcome to CS210

This course builds your proficiency in the C programming language and gives you a working understanding of how programs execute on a machine. You will work directly with memory, organize code across multiple files, and develop the professional habits of testing, debugging, documentation, and version control that produce correct and maintainable software.

Each lesson is two hours. Expect roughly 30 to 45 minutes of focused instruction followed by hands-on lab time. Labs not finished in class become homework. Come ready to write code, ask questions, and debug systematically.

Announcements

Welcome to CS210!
Day one is toolchain setup. Bring a laptop that can run VMware Workstation Pro; we will get your course Linux VM up and running, then walk through gcc and Git basics together. Looking forward to a great semester!

Course Outcomes

By the end of CS210, cadets will be able to:

  1. Apply fundamental programming concepts including selection, iteration, recursion, user-defined functions, and logical, arithmetic, and bitwise operators to solve computational problems.
  2. Develop C programs using pointers, dynamic memory, structs, multi-file organization, and basic data structures such as linked lists, stacks, and queues.
  3. Apply the engineering design process to develop, implement, debug, and evaluate algorithmic solutions to complex computing problems, including systematic testing and error handling to produce correct and robust programs.
  4. Communicate technical and ethical reasoning through clear writing and formal presentation.
  5. Analyze an ethical issue in computing using the ACM Computer Science Code of Ethics and articulate a reasoned position.
  6. Collaborate as a contributing member of a software development team using shared version control workflows and team coding conventions.
  7. Apply professional development practices including modular design, procedural abstraction, defensive programming, integrated development environments, version control, build automation, and code documentation.

Schedule at a Glance

Forty-one lessons across five blocks. Major assessments are flagged at the right.

Block 1 · Bridging Python to C
Lessons 1 to 8 · Toolchain, types, operators, conditionals, loops, functions, Make
GR1 at L8
PEX1 assigned L8 · 2 quizzes
Block 2 · Memory and Pointers
Lessons 9 to 17 · Arrays, strings, recursion I, pointers, malloc/free, valgrind
GR2 / Midterm at L17
PEX1 due L14 · 4 quizzes
Block 3 · Composite Data, Files, Project Setup
Lessons 18 to 27 · Structs, multi-file, file I/O, design, Git in depth, testing, ethics
PEX2 due L26
Team PEX assigned L22 · 2 quizzes
Block 4 · Data Structures, Recursion in Practice, Advanced Topics
Lessons 28 to 36 · Linked lists, stacks/queues, recursion II/III, bitwise, function pointers
GR3 at L28
2 quizzes
Block 5 · Synthesis and Final
Lessons 37 to 41 · Defensive programming, memory layout, presentations, cumulative assessment
GR4 / Final at L41
Team PEX presentations L39

Grading

Course total: 1000 points. Labs and reflections are reported in two categories: a programming grade covering the first 15 graded lessons (your midterm standing) and a final grade covering the remaining 20.

Component Points Weight
10 Quizzes (20 pts each) 200 20%
Graded Review 1 (GR1) 100 10%
Graded Review 2 / Midterm (GR2) 100 10%
Graded Review 3 (GR3) 100 10%
Graded Review 4 / Final (GR4) 100 10%
PEX1 (due L14) 40 4%
PEX2 (due L26) 65 6.5%
Team PEX / Final Project (due L39) 150 15%
Labs — programming half (15 lessons × 2 pts) 30 3%
Labs — final half (20 lessons × 2 pts) 40 4%
Reflections — programming half (15 lessons × 1 pt) 15 1.5%
Reflections — final half (20 lessons × 1 pt) 20 2%
Ethics discussion 40 4%
Total 1000 100%

Key Policies

Generative AI Use

Use is tiered by assessment per the DF Generative AI Usage Policy framework. Documentation is required for all permitted use on graded work.

Level Use Applies To
Level 0 No use All in-class GRs, quizzes, the final exam, and PEX defenses
Level 1 Organizational and explanatory Pre-class readings, studying, and concept clarification
Level 2 Brainstorming and idea generation PEX1, PEX2, and Team PEX (design phase only, before code is written). All code must be original work.
Level 3 Feedback on student-generated work Daily labs and weekly homework. Cadets write their own code first, then may use GenAI for review or debugging hints.

Academic Integrity

Substantive violations of the GenAI policy or other instances of academic dishonesty are reported under the Cadet Honor Code. When in doubt, ask before submitting.

Submissions and Late Work

Assignments are delivered through Git Classroom and are due at 2300 on the listed due date. Each assignment has a fixed cap on graded submissions, so test locally before pushing for a graded run.

Late work is assessed a 20% deduction per calendar day past the deadline. This policy applies to projects, labs, and homework. Quizzes and Graded Reviews are administered in class and cannot be made up except in the case of an excused absence.

Extensions: Cadets seeking an extension must reach out to their instructor before the due date. Projects and assignments will only be excused for documented long term absences (e.g., extended TDY, hospitalization, or comparable circumstances). Routine schedule conflicts are not grounds for an excused submission.

Individual instructors may modify this policy for a recovery effort or other purpose at their discretion. Refer to your instructor's section guidance for any deviation from the standard 20% per day deduction.

Required Tools

All development for CS210 happens inside a Linux virtual machine running under VMware Workstation Pro. The following tools live on the VM:

Course Resources

All required resources are free. King is recommended optional secondary reading.

CS210 · USAFA DFCS · Fall 2026 · Course Director: Maj Sarah Bolton, PhD