Course syllabus‎ > ‎

Lectures

The information on this page pertaining to lectures may change without notice. Therefore, please check frequently. Any changes to dates and deadlines would be broadly publicized, but are not to be expected.


Key course dates and deadlines are summarized on the page about Schedule and dates.


The below is the ECE297 archive for past years of the course.



Week

Date

Lecture or event

Description

Material

Week1:

Monday, Jan 6th

Design lecture

Welcome, introductions, class organization, and project overview.

Required: Syllabus, especially

The Software Project

Recommended: Chapter 13. Complexity As Simple As Possible, but No Simpler, Chapter 15. Tools The Tactics of Development amd Chapter 16. Reuse: Do Not Re-invent the Wheel



Wednesday, Jan. 9th

Design lecture

Milestone 1 overview, command-line shell, logging, code reading, and versioning and concurrent development with SVN

Required: The Software Project, Milestone 1 Handout, and

Chapter 2 of SVN Book

Recommended: Basics of the Unix Philosophy, Chapter 4. Modularity Keeping It Clean, Keeping It Simple and Project Skeleton Code

Recommended: (not covered in the lecture, but covered on-demand in labs/tech talks): Eclipse.org (browse the web site, look for CDT and for Subclipse)

Eclipse Demo Video

Week 2:


Monday, Jan. 13th

Design lecture

TBD

TBD


Wednesday, Jan. 15th

Communications lecture

Communications overview

Required: Engineering Communication: From Principles to Practice, Chapter 1, pp.15-24

Deadline

Friday, Jan 17th, 5 PM

Team selection


Link to team slection page

Week 3:

Monday, Jan. 20th

Communications lecture

Writing introduction

Required: Engineering Communication: From Principles to Practice, Chapter 2, pp.74-75; pp.83-90

:

Wednesday, Jan. 22nd

Question and answer lecture with TAs

Q & A  about Milestone 1: Students are encouraged to submit questions beforehand.

Students may ask detailed questions during lecture about Milestone 1.


Link for submitting questions was sent by email on Monday, 21st of January.

Deadline

Sunday, Jan. 26th

Deadline

Code Milestone 1 due


Week 4


Monday, Jan. 27th

Communication lecture

Revisions and use cases

Required:Engineering Communication: From Principles to Practice, Chapter 2, pp.55-68


Wednesday, Jan. 29th

Design lecture

Milestone 2 overview, remarks on design, Scrum

Required: To be linked.

Week 5

Monday, Feb. 3rd

Design  lecture

Network programming basics

Required: Beej's Guide to Network Programming Using Internet Sockets (Read: Sections 2, 3, 5; focus on IPv4 material.)

and Project Skeleton Code (try to find the code that has something to do with networking)

Recommended: Chapter 5. Textuality


Wednesday, Feb. 5th

Communications lecture

Concise writing and bug reporting

Required: Engineering Communication: From Principles to Practice, Chapter Chapter 3,pp.102-105

Deadline

Sunday, Feb.  9th

Deadline

Design document: Basic storage server due


Week 6

Monday, Feb. 10th

Question and answer session with TAs

Q & A  about Milestone 2. Students are encouraged to submit questions beforehand.


Students may ask detailed questions during lecture about Milestone 2.


Wednesday, Feb. 12th

Communications lecture

Midterm instructions

Required: Midterm instructions and Engineering Communication: From Principles to Practice, Chapter 9

Deadline

Sunday, Feb. 16th

Deadline

Code Milestone 2 due, including performance evaluation (to be submitted with code and on turnitin.com)



Reading Week: 17th/18th-21st

No lecture, no labs, no tutorials



Week 7

Monday, Feb. 24th & Wednesday, Feb 26th

No lectures

No lectures due to midterm this week

Required: Midterm instructions and Engineering Communication: From Principles to Practice, Chapter 9

Exam

Monday, Feb. 24th (4-7 PM)

Software Demonstration

Software Demonstration

Midterm Demo in Lab (cf. Midterm description & schedule)

Exam

Wednesday, Feb. 26th (1-4 PM)

Software Demonstration

Software Demonstration

Midterm Demo in Lab (cf. Midterm description & schedule)

Exam

Wednesday, Feb. 26th (4-7 PM)

Software Demonstration

Software Demonstration

Midterm Demo in Lab (cf. Midterm description & schedule)

Exam

Thursday, Feb. 27th (3-6 PM)

Software Demonstration

Software Demonstration

Midterm Demo in Lab (cf. Midterm description & schedule)

Week 8

Monday, March 3rd

Design lecture

Milestone 3 overview

Required: Milestone 3 Handout

and

Grand Challenge

Week 8

Wednesday, March 5th

Communications lecture

Executive summary and improving logical flow


Required: Engineering Communication: From Principles to Practice, Principles 12 - 17, pages 142-184.

Deadline

Sunday, March 9th

Deadline

Design Document: Extended Storage Server


Week 9

Monday, March 10th

Design lecture

Advanced parsing and tools

Required: Special-Purpose Code Generators: Lex and yacc

Recommended:

Course Reader: Milestone 3 helpful resources

Week 9

Wednesday, March 12th

Design lecture &


Question and answer session with TAs

Software testing, unit testing


Q & A  about Milestone 3: Students are encouraged to submit questions beforehand.

Required: Check Manual (Read Chapters 1-3)

Recommended: Check Manual (Chapters 4-6)


Students may ask detailed questions during lecture about Milestone 3.

Deadline

Sunday, March 16th

Deadline

Code Milestone 3 due


Week 10

Monday, March 17th

Communications lecture

Design document: Scalable & concurrent storage server

Required: Engineering Communication: From Principles to Practice, Principle 11, pp. 155-161; Principles 13 -16, pp. 181-197.

Week 10

Wednesday, March 19th

Communications lecture

Applying the principles to oral presentation

Required: Engineering Communication: From Principles to Practice, Chapter 9, pp. 280-313. 

Week 11

Monday, March  24th

Design lecture

Milestone 4 overview, transactions, and multiple clients

Required: Milestone 4 Handout

Week 11

Wednesday, March 26th

Design lecture

Concurrent servers, multithreading, & synchronization I

Recommended: Multiprogramming


Deadline

Sunday, March 30th

Deadline

Design Document: Scalable and Concurrent Storage Server


Week 12

Monday, March 31st

Design lecture

Concurrent servers, multithreading, & synchronization II

Recommended: Multiprogramming


Week 12

Wednesday, April 2nd

Q & A Session for Milestone 4.

Q & A  about Milestone 4. Students are encouraged to submit questions beforehand.

Students may ask detailed questions during lecture about Milestone 4.

Deadline

Sunday, April 6th

Deadline

Code Milestone 4 due


Week 13

Monday, April 7th

Communications lecture

Final exam preparations

Required: Final exam instructions handout and Final exam instructions handout

Week 13

Wednesday, April 9th

No lecture due to final exam

Students prepare for the final exam

Required: Final exam instructions handout

Exam

Friday, April 11th


Final exam

Required: Final exam presentations slots