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

Course Logistics

Software Engineering

Introduction to Software Design

Reading:

To do: Write and run a simple C program.

No Recitation the first week

9/3

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/10

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

String Stuff

Pointers

Reading:

To do: Fall Engineering Expo (9/11-9/12)

Using Github

9/17

Algorithm Analysis

Structures, memory, pointers

Algorithm Analysis

Structures


Reading: Chapter 6, Weiss

To do:

Dynamic Memory Allocation and Valgrind

9/24

Linked Lists

Stacks/Queues

Memory Allocation

Linked List

Stacks / Queues

Reading: Chapter 17, Weiss

To do:

Stacks

Assignment 2 - Checkout

10/1

More Linked Lists


Reading:

To do:

 

Drawing Linked Structures


10/8

Recursion

Review

Exam 1

Recursion

Review


Reading: Chapter 8, Weiss

To do:

Exam Review

10/15

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/22 C++ and Object-Oriented Programming (OOP)

Class Specific Topics

Reading: Thinking In C++, Eckels

To do: Review source code from class
C++ OOP/More Github
10/29 C++ Collections and the STL

More Class Topics

Intro to the C++ STL

Reading:

To do:
C++ STL
11/5

Trees, Binary Trees

Templates

Binary Trees

Reading:

To do:

Assignment 5 Checkout

OOP Quiz

11/12

Binary Search Trees

Searching and Sorting

Searching and Sorting

QuickSort

Reading:

To do:Sorting Visualizations

Assignment 6 Checkout

Tree Traversal Quiz

11/19

Thanksgiving

 

Reading:

To do:

No Discussion Sections

11/26

Hashing and Hash Tables

Exam

Hash Tables

Review

Reading:

To do:

Exam Review

12/3

Heaps

Hash Tables

Heaps

Reading:

To do:

Exam Grading

12/10

Last Day of Class on Monday

 

Final Exam Review





Programming Assignments

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

Assignment 2: 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 (10/11)   

Exam 2 (11/29)  UPDATED

Final Exam:

Uniform Exam
Date & Time: TUESDAY, DECEMBER 18, 7-10 PM
Location: SAC 1.402

 

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