- "Java to C#" is the project theme.
- Your project will develop a tool that takes as input an arbitrary Java program and produces as output a corresponding C# program. In the previous sentence you may replace Java with Java bytecode or with Scala. You may also replace C# with CIL (.Net bytecode).
- You may either build your tool from scratch or build your tool on top of existing open-source libraries. Libraries that may be useful include the following:
- Following are options for evaluating the status of your project:
- Demonstrate code pieces that distinguish your tool from other tools in that only your tool can convert the code successfully.
- Convert a program and its test suite and compare how the test suite behaves on the original code and on the converted code.
- Convert a program people care about. For example, can your tool convert Android applications to Windows Phone 7 applications?
- All project deadlines are on Monday at 9 am.
- (VV X) = X in Hans van Vliet textbook.
|Day||Tentative Class Topic||Project Deadline|
|1/18||Overview, syllabus, motivation (The development abstraction layer)|
|1/23||Introduction, project plan (VV Chapter 2, [Iceberg secret], Five worlds)||Form teams|
|1/25||Software Life Cycle (VV Chapter 3, Set your priorities)|
|1/30||Software Life Cycle cont'd (How to be a program manager)|
|2/06||Configuration Management (VV Chapter 4, Distributed version control), people management (VV Chapter 5)||Incept project|
|2/13||Cory Doctorow, more on people management (Two stories)||Revise inception|
|2/15||Quiz, bytecode and virtual machine|
|2/20||Managing software quality (VV Chapter 6, Measurement, Joel Test, IROP)|
|2/27||Managing software quality cont'd, Fagan inspection (Doolan92Experience) and reviews||Iteration 1|
|2/29||Cost estimation (VV Chapter 7)|
|3/05||Cost estimation cont'd (COCOMO2, Use-Case Points)||Review iteration 1|
|3/07||Quiz, project planning & control (VV Chapter 8)|
|3/19||John Robb, Lockheed Martin|
|3/26||More project planning & control||Homework 1, Iteration 2|
|3/28||Marc D. Marchand, City of Arlington|
|4/02||Software testing (VV Chapter 13, CFG)||Review iteration 2|
|4/04||Quiz, more software testing (Usability testing, Usability.gov)|
|4/09||Presentation, feedback: Code walkthrough||Homework 2|
|4/11||Presentation, feedback: Code walkthrough|
|4/16||More software testing (Dsc, Pex, Mr. Null)||Iteration 3|
|4/18||Software maintenance (VV Chapter 14)|
|4/23||More software maintenance (Refactoring)||Review iteration 3|
|4/25||Quiz, more software maintenance (How to write unmaintainable code)|
|4/30||Final presentation||Final deliverables|