EE 312- Software Design and Implementation I
Fall 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
8/28

Course Logistics

Software Engineering

Intro to C

Introduction to Software Design

Intro to C

Reading:

To do: Write and run a simple C program.

No discussion sections the first week

9/2

Intro to C

Decisions, Loops, Functions and Arrays

Intro to C

Reading:


To do: 

Intro to Linux

Software download

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

9/9

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

String Stuff

Pointers

Reading:

To do:

Pointers and memory management

Valgrind

9/16

Algorithm Analysis

Structures, memory, pointers

Algorithm Analysis

Structures


Reading: Chapter 6, Weiss

To do:

Debugging and GDB

9/23

Linked Lists

Stacks/Queues

Memory Allocation

Linked List

Stacks / Queues

Reading: Chapter 17, Weiss

To do:

GIT

9/30

More Linked Lists


Reading:

To do:

 

Linked List


10/7

Recursion

Review

Exam 1

Recursion

Review


Reading: Chapter 8, Weiss

To do:

Exam Review

10/14

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

 

Recursion


10/21 C++ and Object-Oriented Programming (OOP)

Class Specific Topics

More Class Topics

Reading: Thinking In C++, Eckels

To do: Review source code from class

10/28 C++ Collections and the STL

Intro to the C++ STL

Templates

Reading:

To do:

11/4

Trees, Binary Trees

Binary Trees

Reading:

To do:


11/11

Binary Search Trees

Searching and Sorting

Searching and Sorting

QuickSort

Reading:

To do:Sorting Visualizations


11/18

Hashing and Hash Tables

Exam

Hash Tables

Review

Reading:

To do:

 

11/25

Thanksgiving

Reading:

To do:

No Discussion Sections

12/2

12/9 (Monday) Last Day of Class

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

(.zip download)

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

 

Style Guide


Exam 1 (10/10)   

Exam 2 (11/21) 

Final Exam:

Uniform Exam
Date & Time: TUESDAY, DECEMBER 17, 2-5 PM
Location: UTC 2.102A

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