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


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

Detailed Class Schedule

(last update: March 13, 2014)

Week Tuesday Thursday
1
Jan 9
Lecture 1: Introduction and setup
  • Course overview, administration, set up
  • Projects and team work
  • Introduction to software engineering
Jan 9
Lecture 2: Project 1 application specification
  • Customer requests, goals, requirements
  • Discussion of features, options, considerations
  • Technical advise on data structure organization
2
Jan 14
Lecture 3: Software development process, version control
  • Source code management, version trees
  • Version control, Concurrent Versions System (CVS)
  • Linux software development tools
Jan 16
Lecture 4: Graphical User Interface (GUI)
  • Introduction to GUI programming
  • Portable graphics library SDL
  • SDL introduction, API, demo
3
Jan 21
Team meetings
  • Software development and documentation
  • Implementation of alpha version
  • Testing, debugging, packaging
Jan 23
Team meetings
  • Software development and documentation
  • Implementation of alpha version
  • Testing, debugging, packaging
4
Jan 28
Lecture 5: Team presentations
  • Project status and discussion
  • Software specification for users and developers
  • Data structure design, implementation, status
Jan 30
Lecture 6: Team presentations
  • Project status and discussion
  • Software specification for users and developers
  • Data structure design, implementation, status
5
Feb 4
Midterm Exam and Competition
  • Oral exam: main project responsibility, Q+A
  • Peer evaluation: individual project contribution
  • Team competition: Chess tournament
Feb 6
Break
  • Wrap up Project 1
  • Collect data from team accounts
6
Feb 11
Lecture 7: Project 2 application specification
  • Customer requests, goals and requirements
  • Discussion of features, options, considerations
  • Technical advise on project partitioning
Feb 13
Lecture 8: Project 2 technical discussion
  • Application components, pipeline structure
  • Technical advise on approach and algorithm
  • Technical advise on data structure organization
7
Feb 18
Team meetings
  • Software specification and documentation
  • Discussion of features and goals
  • Project architecture, team partitioning
Feb 20
Team meetings
  • Software specification and documentation
  • Software architecture design
  • Software partitioning, definition of APIs
8
Feb 25
Lecture 9: Software optimization, C++ concepts
  • Linux compiler tool chain, optimization
  • Software profiling and coverage testing
  • Introduction to C++ concepts, classes and objects
Feb 27
Team meetings
  • Software development and documentation
  • Implementation of alpha release
  • Testing, debugging, packaging
9
Mar 4
Lecture 10: Outlook towards C++
  • C++ classes, a deeper look (1), (2)
  • Members, methods, constructors, destructors
  • Function overloading, default arguments
Mar 6
Team meetings
  • Software development and documentation
  • Implementation of beta release
  • Optimization, testing, debugging, packaging
10
Mar 11
Lecture 11: Team presentations
  • Project status and discussion
  • Software presentation for users and developers
  • Approach, implementation, demonstration
Mar 13
Lecture 12: Team presentations
  • Project status and discussion
  • Software presentation for users and developers
  • Approach, implementation, demonstration
Final
Mar 18
Final Exam
9:30am - 4:00pm in EH 1151
Refer to Lecture 12 for details


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