Skip to end of metadata
Go to start of metadata

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)

  • No labels