CSE 251 Programming in C

Spring, 2013

Sakti Pramanik, instructor, pramanik@cse.msu.edu

This is the home page for CSE 251 Programming in C.. This course is an introduction to the C programming language and programming in the Unix environment.

This 1 hour class will cover the basics of using the C language and its associated tools for general purpose, scientific and engineering applications, including:

As this is only a 1 credit hour course, we will be lecturing at the computer in Room 3353 in the Engineering Building. The time will be spent both doing lecture and doing hands-on programming/lab work.

The course syllabus is available as pdf file.

Course resources

01-08-13 1. Getting Started  Powerpoint StepStep    
01-15-13 2. Introducing C Powerpoint StepStep   Read Chapters 1-5, 7-9 (Pages 5-57, 71-99)
01-22-13 3. Flow Control and Booleans Powerpoint StepStep   Read Chapters 10-13 (Pages 103-143)
01-29-13 4. Looping and Repetition Powerpoint StepStep   Read Chapters 14-17 (Pages 149-183)
02-05-13 5. no lecture   StepStep   Read Chapters 18, 20 (Pages 187-195, 207-216)
02-12-13 6. Functions Powerpoint StepStep   Read Chapters 30-32 (Pages 331-364)
02-19-13 7. Pointers and Reference Parameters Powerpoint StepStep   Read Chapters 24-25 (Pages 255-274)
02-26-13 8. Arrays Powerpoint StepStep Read Chapters 21-23 (Pages 221-252)
03-12-13 9. Strings and File I/O Powerpoint StepStep Read Chapters 6, 19, 28, 29 (Pages 59-68, 197-204, 307-327)
03-19-13 10. States and State Machines Powerpoint StepStep  
03-26-13 11. Pointers, Arrays, Multidimensional Arrays Powerpoint StepStep
04-02-13 12. Compilation and Makefiles Powerpoint StepStep
04-09-13 13. no lecture, Project 2 Work Day
04-16-13 14. struct Powerpoint StepStep Read Chapters 27 (Pages 293-303)
04-23-13 15. Dynamic Memory Allocation Powerpoint StepStep Read Chapters 26 (Pages 277-289)

Steps

Step assignments are now included in the section above.

Projects
 

Project 1 - Integral of sinc function Assigned 01-29-13, Due 02-15-13
  • Project 2 - Elevator embedded system Part A Due 04-05-13. Part B Due 04-17-13
  • Project 3 - An Event Scheduler Due: 4/26/2013