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


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

Detailed Class Schedule

(last update: March 22, 2017)

Week Tuesday Thursday
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
Jan 17
Team meetings
  • Software specification
  • Software partitioning
  • Software documentation
Jan 19
Lecture 3: Software development process, version control
  • Linux software development tools
  • Source code management, version trees
  • Version control, Concurrent Versions System (CVS)
3
Jan 24
Lecture 4: Graphical User Interface (GUI)
  • Introduction to GUI programming
  • Portable graphics library SDL
  • SDL introduction, API, demo
Jan 26
Team meetings
  • Software development and documentation
  • Implementation of alpha version
  • Testing, debugging, packaging
4
Jan 31
Lecture 5: Team presentations
  • Project status and discussion
  • Software specification for users and developers
  • Data structure design, implementation, status
Feb 2
Lecture 6: Team presentations
  • Project status and discussion
  • Software specification for users and developers
  • Data structure design, implementation, status
5
Feb 7
Midterm Exam and Competition
  • Oral exam: individual contribution to Project 1, Q+A
  • Team competition: Chess tournament!
Feb 9
Break
  • Wrap up Project 1
  • Peer and course evaluation
  • Collect data from team accounts
6
Feb 14
Lecture 7: Project 2 application specification
  • Customer requests, goals and requirements
  • Discussion of features, options, considerations
  • Technical advise on project partitioning
Feb 16
Lecture 8: Project 2 technical discussion
  • Application components, communication
  • Technical advise on approach and algorithm
  • Technical advise on client/server networking
7
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 28
Lecture 11: Project updates, Intro to C++ concepts
  • Project specification and discussion
  • Technical advise on protocols and algorithm
  • Introduction to C++ concepts, classes and objects
Mar 2
Team meetings
  • Software development and documentation
  • Implementation of alpha release
  • Testing, debugging, packaging
9
Mar 7
Lecture 12: Outlook towards C++
  • C++ classes, a deeper look (1), (2)
  • Members, methods, constructors, destructors
  • Function overloading, default arguments
Mar 9
Team meetings
  • Software development and documentation
  • Implementation of beta release
  • Optimization, testing, debugging, packaging
10
Mar 14
Lecture 13: Team presentations
  • Project status and discussion
  • Software presentation for users and developers
  • Approach, implementation, demonstration
Mar 16
Lecture 14: Team presentations
  • Project status and discussion
  • Software presentation for users and developers
  • Approach, implementation, demonstration
Final
Mar 23
Final Exam
8:00am - 5:00pm in MDE, ET 201
Refer to Lecture 14 for details

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