Course Description: An introduction to software design with a structured computer language that focuses on the construction of programs consisting of multiple functions residing in multiple files. Covers program creation and top-down-design, basic elements and operations, modular program construction, and the use of programming tools such as makefiles. Introduces object oriented programming techniques.
AKA Learn how to program a computer.
Class Outcomes (all equally important):
- Design, implement , and execute programs written in the C language.
- Define the use of functions, and design multiple module programs.
- Use a variety of UNIX-based and PC-based programming tools for software development like IDE's (Integrated Development Environment), debuggers and makefiles.
- Create and use pointers, data structures and enumerated data types.
- Access text files directly in C language programs via I/O functions.
|Spring 2010 EE 2372 topic calendar|
|Date||Topic||Assignment out||Reading Assignment|
|21-Jan||Computer Architecture, Programming Languages, IDE, Intro to MATLAB||Flowchars handout|
|26-Jan||Elements of Programming in MATLAB|
|28-Jan||Elements of Programming in MATLAB||Assignment 1|
|2-Feb||Input/Output in MATLAB, Software design with flowcharts||Chapter 2|
|4-Feb||Software design with flowcharts||Assignment 2||Chapter 3 and Chapter 4|
|9-Feb||Introduction to C language, compilers and IDEs. Basic C language structure and basic input/output||Chapter 5|
|11-Feb||Variables, Data types and arithmetic expressions||Assignment 3|
|16-Feb||Program Looping I||Chapter 6|
|18-Feb||Program Looping II||Assignment 4|
|23-Feb||Decision structures I||Chapter 7|
|25-Feb||Exam 1 Up to February 18|
|2-Mar||Decision structures II||Assignment 5||Chapter 7 and 8|
|11-Mar||Functions||Assignment 6||Appendix B|
|23-Mar||Functions - The Standard library||Chapter 9|
|25-Mar||Structures||Assignment 7||Chapter 10|
|8-Apr||Pointers||Assignment 9||Chapter 12 and Chapter 13|
|13-Apr||Bit operators and Review of the preprocessor|
|15-Apr||Exam 2 - up to pointers||Chapter 14|
|20-Apr||Enumerated datatypes and type casting||Chapter 15|
|22-Apr||Program modularity||Chapter 16|
|27-Apr||Input/Ouput operations in C||Assignment 10||Chapter 17|
|29-Apr||Command line arguments and Dynamic Memory Allocation|
|4-May||C++ - Object orient programming I||Chapter 19|
|6-May||C++ - Object orient programming III|
|13-May||Thursday 10:00 am - 12:45 pm|
Flowcharts (from www.nos.org)
Structures programming examples Note: The original version of these examples were downloaded from the web, but I don't have the source anymore. The examples have been modified in some parts to illustrate other properties of structures.
Linked list example. Just the C-code that could be useful for your last homework.
Homework 3 - More MATLAB and flowcharts. Elements of C language (pdf)
Homework 4 - Variables, data types and arithmetic expressions (pdf)
Homework 5 - Program Looping (pdf)
Homework 6 - Making decisions (pdf)
Homework 7 - Arrays an sorting (pdf)
Homework 8 - Functions (pdf)
Homework 9 - Structures and Strings (pdf)
Homework 10 - Pointers (pdf)