Home

EE2372 Software Design I - Spring 2010 space.

Days/Time : TTh 10:30 - 11:50

Location: Classroom Building 301


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):

  1. Design, implement , and execute programs written in the C language.
  2. Define the use of functions, and design multiple module programs.
  3. Use a variety of UNIX-based and PC-based programming tools for software development like IDE's (Integrated Development Environment), debuggers and makefiles.
  4. Create and use pointers, data structures and enumerated data types.
  5. Access text files directly in C language programs via I/O functions.

Complete Class Syllabus (pdf)


Class calendar (always subject to change)


  Spring 2010 EE 2372 topic calendar    
Date Topic Assignment out Reading Assignment
19-Jan Course introduction    
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
4-Mar Arrays    
9-Mar Functions    
11-Mar Functions Assignment 6 Appendix B
16-Mar Spring Break    
18-Mar Spring Break    
23-Mar Functions - The Standard library   Chapter 9
25-Mar Structures Assignment 7 Chapter 10
30-Mar Strings   Chapter 11
1-Apr Pointers Assignment 8  
6-Apr Pointers    
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    
7-May Dead Day    
13-May Thursday 10:00 am - 12:45 pm    

Handouts 

Flowcharts (from www.nos.org)


Lecture Materials

 Introduction to programming elements using MATLAB

 Designing programs with flowcharts

 Decision Making

 Looping

 Structures

 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.

Pointers.  An introduction to pointers. Really an intro, the remaining material was covered in class. Example 1. Example 2.  

Linked list example. Just the C-code that could be useful for your last homework.


Assignments


Homework 1 - Elements of programming using MATLAB  (pdf)

Homework 2 - Program design using flowcharts (pdf)

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)

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.