SOFTWARE ENGR IN C
EECS 22L, Course Code: 18020
Quarter: Winter Quarter 2015


Home | Syllabus | Projects | Schedule | MessageBoard | Resources | TA Infos | Project 1 | Project 2

Detailed Class Schedule

(last update: March 3, 2015)

Week Tuesday Thursday
1
Jan 6
Lecture 1: Introduction and setup
  • Course overview, administration, set up
  • Projects and team work
  • Introduction to software engineering
Jan 8
Lecture 2: Project 1 application specification
  • Customer requests, goals, requirements
  • Discussion of features, options, considerations
  • Technical advise on data structure organization
2
Jan 13
Lecture 3: Software development process, version control
  • Linux software development tools
  • Source code management, version trees
  • Version control, Concurrent Versions System (CVS)
Jan 15
Lecture 4: Graphical User Interface (GUI)
  • Introduction to GUI programming
  • Portable graphics library SDL
  • SDL introduction, API, demo
3
Jan 20
Team meetings
  • Software development and documentation
  • Implementation of alpha version
  • Testing, debugging, packaging
Jan 22
Team meetings
  • Software development and documentation
  • Implementation of alpha version
  • Testing, debugging, packaging
4
Jan 27
Lecture 5: Team presentations
  • Project status and discussion
  • Software specification for users and developers
  • Data structure design, implementation, status
Jan 29
Lecture 6: Team presentations
  • Project status and discussion
  • Software specification for users and developers
  • Data structure design, implementation, status
5
Feb 3
Midterm Exam and Competition
  • Oral exam: individual contribution to Project 1, Q+A
  • Team competition: Chess tournament!
Feb 5
Break
  • Wrap up Project 1
  • Peer and course evaluation
  • Collect data from team accounts
6
Feb 10
Lecture 7: Project 2 application specification
  • Customer requests, goals and requirements
  • Discussion of features, options, considerations
  • Technical advise on project partitioning
Feb 12
Lecture 8: Project 2 technical discussion
  • Application components, communication
  • Technical advise on approach and algorithm
  • Technical advise on client/server networking
7
Feb 17
Lecture 9: Project 2 technical discussion
  • Software specification, requirements
  • Technical advise on approach and algorithm
  • Technical advise on networked communication
Feb 19
Team meetings
  • Software specification and documentation
  • Software architecture design
  • Software partitioning, definition of APIs
8
Feb 24
Lecture 10: Project updates, Intro to C++ concepts
  • Project specification and discussion
  • Technical advise on protocols and algorithm
  • Introduction to C++ concepts, classes and objects
Feb 26
Team meetings
  • Software development and documentation
  • Implementation of alpha release
  • Testing, debugging, packaging
9
Mar 3
Lecture 11: Outlook towards C++
  • C++ classes, a deeper look (1), (2)
  • Members, methods, constructors, destructors
  • Function overloading, default arguments
Mar 5
Team meetings
  • Software development and documentation
  • Implementation of beta release
  • Optimization, testing, debugging, packaging
10
Mar 10
Lecture 12: Team presentations
  • Project status and discussion
  • Software presentation for users and developers
  • Approach, implementation, demonstration
Mar 12
Lecture 13: Team presentations
  • Project status and discussion
  • Software presentation for users and developers
  • Approach, implementation, demonstration
Final
Mar 17
Final Exam
TBD!


The Electronic Educational Environment
University of California, Irvine
http://eee.uci.edu/15w/18020/
(viewed times since 12/2/14).