C and Software Tools

NC State - Spring ‘26 - CSC 230-001

In this course, students will develop skills in several important areas. First, we’ll get some experience working in C, a language that lets us think like procedural rather than object-oriented developers. Also, being a fairly low-level language, C lets us see and control more of what’s going on in the hardware. This can help us think about using the hardware more effectively, whether we’re actually programming in C or in a higher-level language. While we learn C, we’ll also learn about tools and techniques that help us build, manage, debug and analyze software projects.

Basics

Course Syllabus: click here for the syllabus
Tentative Schedule: click here for the tentative schedule
Lecture: M/W 1:30-2:45pm, In-person @ LMP 218
Instructors across all sections:
  • Dr. Caio Batista - Section 001 (this section!)
  • Dr. Suzanne Balik - Section 002
  • Dr. David Sturgill - Sections 003 and 601
TAs across all sections:
  • Yi Hu
  • Tristan Chance Mullins
  • Karim Hussain
  • Ummay Kulsum ukulsum
  • Zack Brooks
  • Christopher Brower
Office Hours: click here for office hours information
Final Exam:   Friday, May 1, 12:00-2:30pm @ LMP 218

Book

C Programming: A Modern Approach, 2nd Edition, by K.N. King

Other Resources

Topics

  1. Getting Started in C
  2. Console I/O and Compilation
  3. Revision Control and GDB
  4. Fundamental Types
  5. Expressions, Statements and Functions
  6. Arrays and Strings
  7. Multi-Dimensional Arrays & Build Automation
  8. Pointers
  9. Integer Representation
  10. File I/O and Strings
  11. Dynamic Memory Allocation
  12. Structs
  13. Debugging
  14. Data Structures
  15. Bitwise Operators
  16. The C Standard Library
  17. Preprocessor
  18. More Standard library
  19. Abstraction in C
  20. Assembly Language and Implementation
  21. The Rest of C
  22. Security
  23. Performance

Commitment to an inclusive learning environment: this class adheres to the philosophy that all community members should enjoy an environment free of any form of harassment, sexual misconduct or discrimination. Please be respectful and kind to one another.