Week |
Monday |
Wednesday |
Friday |
1
|
|
Jan 10 |
Lecture 1: Introduction and setup
|
- Course overview, administration, set up
- Projects and team work
- Introduction to software engineering
|
|
Jan 12
|
Lecture 2: Project 1 application specification
|
- Customer requests, goals, requirements
- Discussion of features, options, considerations
- Technical advise on data structure organization
|
|
2
|
Jan15
|
Martin Luther King Jr. Day - School Holiday
|
|
|
Jan 17 |
Lecture 3: Software development process, version control
|
- Linux software development tools
- Source code management, version trees
- Version control, Concurrent Versions System (CVS)
|
|
Jan 19
|
Lecture 3.1: Teamwork Lecture & Team meetings |
- Teamwork Exercise
- Team Meetings
- Software specification
- Software partitioning
- Software documentation
|
|
3
|
Jan 22
|
Lecture 4: Graphical User Interface (GUI)
|
- Introduction to GUI programming
- Portable graphics library SDL
- SDL introduction, API, demo
|
|
Jan 24 |
Lecture 4.1: Graphical User Interface (GUI)
continued |
- Introduction to GUI programming
- Portable graphics library SDL
- SDL introduction, API, demo
|
|
Jan 26
|
Lecture 4.2: Teamwork Lecture & Team meetings
|
- Teamwork Exercise
- Team Meetings
- Software development and documentation
- Implementation of alpha version
- Testing, debugging, packaging
|
|
4
|
Jan 29
|
Lecture 5: Team presentations
|
- Project status and discussion
- Software specification for users and developers
- Data structure design, implementation, status
|
|
Jan 31 |
Lecture 6: Team presentations
|
- Project status and discussion
- Software specification for users and developers
- Data structure design, implementation, status
|
|
Feb 2
|
No Lecture: Team meetings
|
- Project status and discussion
- Software specification for users and developers
- Data structure design, implementation, status
|
|
5
|
Feb 5
|
Midterm Exam (February 5 & 6)
|
- Oral exam: individual contribution to Project 1, Q+A
|
|
Feb 7 |
No Lecture (Chess Tournament on February 8)
|
- Team competition:
Chess tournament!
- Wrap up Project 1
|
|
Feb 9
|
No Lecture (Make sure to clean up Team Accounts); Team Meetings |
- Wrap up Project 1
- Peer and course evaluation
- Collect data from team accounts
|
|
6
|
Feb 12
|
Lecture 7: Project 2 application specification
|
- Customer requests, goals and requirements
- Discussion of features, options, considerations
- Technical advise on project partitioning
|
|
Feb 14 |
Lecture 7.1: Project 2 applicationi specification and technical discussion
|
- Application components, communication
- Technical advise on approach and algorithm
- Technical advise on client/server networking
|
|
Feb 16
|
Lecture 8: Project 2 technical discussion
continued |
- Application components, communication
- Technical advise on approach and algorithm
- Technical advise on client/server networking
|
|
7
|
Feb 19 |
Presidents Day - School Holiday |
|
|
Feb 21 |
Lecture 9: Project 2 technical discussion
|
- Software specification, requirements
- Technical advise on approach and algorithm
- Technical advise on networked communication
|
|
Feb 23
|
Lecture 10: Project 2 technical discussion
|
- Software specification, requirements
- Technical advise on GUI programming
- Crash course into GTK+ programming
|
|
8
|
Feb 26 |
Lecture 11: Software optimization, C++ concepts
|
- Project specification and discussion
- Technical advise on protocols and algorithm
- Introduction to C++ concepts,
classes and objects
|
|
Feb 28 |
Lecture 11.1: Software optimization, C++ concepts (or other topic - TBD)
|
- Project specification and discussion
- Technical advise on protocols and algorithm
- Introduction to C++ concepts,
classes and objects
|
|
Mar 2
|
Special Lecture! FSAE Electric Racecar C Programming Presentation
|
- Special Presentation from Arnav of UCI Electric Racecar
|
|
9
|
Mar 5
|
Lecture 12: Outlook towards C++
|
- C++ classes, a deeper look
- Members, methods, constructors, destructors
- Function overloading, default arguments
|
|
Mar 7 |
Lecture 12.1: Outlook towards C++ (or other topic - TBD)
|
- C++ classes, a deeper look
- Members, methods, constructors, destructors
- Function overloading, default arguments
|
|
Mar 9
|
No Lecture: Time reserved for team meetings
|
- Teamwork Exercise
- Team Meetings
- Software development and documentation
- Implementation of beta release
- Optimization, testing, debugging, packaging
|
|
10
|
Mar 13
|
Lecture 13: Team presentations
| |
- Project status and discussion
- Software presentation for users and developers
- Approach, implementation, demonstration
|
|
Mar 14 |
Lecture 13.1: Team presentations
|
|
- Project status and discussion
- Software presentation for users and developers
- Approach, implementation, demonstration
|
|
Mar 16 |
Extended Office Hours/Informal Advising Session
|
- Project status and discussion
- EECS/CpE related advising
- Pizza & refreshments provided
|
|
Final
|
|
|
|