EE 312- Software Design and Implementation I
Spring 2019 - Priebe


Schedule 

(this schedule is very tentative and subject to change)

Source Code from Class


 Lectures, Readings, and Activities (week of)

Week of Topics Lectures Readings and Activities Recitation
1/21

Course Logistics

Software Engineering

Intro to C

Introduction to Software Design

Intro to C

Reading:

To do: Write and run a simple C program.

Intro to Linux

Software download

To do: Install CLion (or other environment), Linux software

1/28

Intro to C

Decisions, Loops, Functions and Arrays

Intro to C

Reading:


To do: 

 



2/4

C file I/O, 2-D arrays, dynamic memory allocation

String Stuff

Pointers

Reading:

To do:


2/11

Algorithm Analysis

Structures, memory, pointers

Algorithm Analysis

Structures


Reading: Chapter 6, Weiss

To do:


2/18

Linked Lists

Stacks/Queues

Memory Allocation

Linked List

Stacks / Queues

Reading: Chapter 17, Weiss

To do:


2/25

More Linked Lists


Reading:

To do:

 

 


3/4

Recursion

Review

Exam 1

Recursion

Review


Reading: Chapter 8, Weiss

To do:


3/11

Recursion

Intro to C++ and Object-Oriented Programming (OOP)

Introduction to C++ and OOP

 

Reading: Chapter 1 and 2, Weiss

To do: Learn basic C++

Intro to C++, Expressions and interactivity, loops and files

 

 


3/18 Spring Break      
3/25 C++ and Object-Oriented Programming (OOP)

Class Specific Topics

More Class Topics

Reading: Thinking In C++, Eckels

To do: Review source code from class

4/1 C++ Collections and the STL

Intro to the C++ STL

Templates

Reading:

To do:

4/8

Trees, Binary Trees

Binary Trees

Reading:

To do:


4/15

Binary Search Trees

Searching and Sorting

Searching and Sorting

QuickSort

Reading:

To do:Sorting Visualizations


4/22

Hashing and Hash Tables

Exam

Hash Tables

Review

Reading:

To do:

 

4/29

Hashing and Hash Tables

Hash Tables

Reading:

To do:


5/6

Heaps

 

Heaps

Heap Sort

Review





Programming Assignments

Assignment 1: Code Camp
(.zip download) Assignment 5: UtPod

Assignment 2: Game of Life
(.zip download)
Assignment 6: Go Fish!

Assignment 3: Stack Fun!
(.zip download)
Assignment 7: Binary Search Tree

(.zip download)

Assignment 4: Math Stuff / Flood Fill v2.0
Assignment 8: Cheaters!

Style Guide


Exam 1 (3/6)   

Exam 2 (4/24) 

Final Exam: Tuesday May 21 (2:00pm-5:00pm GSB 2.126)

 

Optional: The final exam is optional. You may use the combined percentage (total points/total possible points) from the two midterm exams as a replacement for the final exam. If you choose to take the final exam, it will be graded and used to calculate your final grade.


EE 312 Home Page