Software Engineering
CSCI 301, Spring Semester,
2006
Final
Written Test
To the Bottom of the
Page
Instructor: Shieu-Hong Lin
Class website: http://csci.biola.edu/csci301/
Class time: Tuesday 3:00-4:15PM at Metzger 100 or Grove 4B
Thursday 3:00-4:15PM at Metzger 100
Office Hours: Tuesday &
Thursday 1:30-3:00 pm, Math & CS
department
Syllabus
Project
review groups
- Web programming
projects on subjects like department web portal, contents management,
systems, E-Commerce using
open-source technology such as PHP, MySQL, Ruby, and AJAX
- C++ and GUI
projects such as vehicle refuleling scheduling & routing, HMM virtual
chat-room.
PHP
& MySQL development
UML
and Diagram tools
About cumulative weekly reading & progress report:
1. See the template report here as a word document
or a web
page. Save the contents in a file and keep that file with you
throughout the semester.
2. By
Thursday each week, you should spend
around 10 minutes to
- add an
additional record into the file (on
top of the previous records) regarding the latest progress made in
this class, and
- email
this entire file of progress report as an attachment to me.
Week
1: Introduction
- Reading #1: (i) Code Complete Chapters 1~2. (discussion leaders: Mamoru
and Aaron) (ii) Software Engineering case
study 1 (discussion leaders: Jennifer and Joseph) Class discussion: Tuesday, Feb 7.
Report Due: Thursday, Feb 9.
- Project activity: Form your team, pick your
project, and work with your client for the first draft document of the
requirements and specification (Homework#1)
of your project.
- Concepts of formal specification and
modeling (Z for specification, UML
for modelling)
Week
2: Requirements and specifications: Phase I
- Reading#2: (i) Code Complete Chapters 3~4 on requirements and specification.
(discussion leaders: Ken and
Jason) (ii) Software Engineering case
study 2 (discussion leaders: Edmund) Class discussion: Tuesday, Feb 14. Report Due:
Thursday, Feb 16.
- Project activities: Refinement of the
requirements and specification. Initial design of the modules. Homework#1
and Homework #2.
.
Week
3: Architecture Design: Phase I
- Reading#3 (i) Code Complete
Chapters 5~6 on design and classes. (discussion leaders: Kevin, Jennifer, and Chris) (ii)
a classical article
on architecture design (discussion
leader: Andre) (iii) Mike’s PHP
E-commerce presentation. Class
discussion: Tuesday, Feb. 21. Report Due: Thursday, Feb 23.
- Project activities: Initial design of the modules. (Homework #2. )
- Technical coverage: Check here
and read Chapter 16 of PHP-MySQL Web Development.
Weeks
4~5: Coding: Phase I
- Presentation
and inspection of requirements and design. Tuesday, Feb 28
and March 7 at Grove 4B. Incorporate feedbacks from your peer
reviewer into your documents before the class. Make and bring hard copies
of your draft documents for the entire class, and use transparencies or
power point (or WORD) documents for a presentation of 15 minutes.
- Project activities: Start the coding based on the design.
- Reading#4 (i) Code Complete Chapters 7~8 on quality
routines and defensive programming. (discussion leaders: Aaron and Chris) (ii) the class handout on
creational design patterns. Class
discussion: Thursday, Mar 2. Report Due: Thursday Mar 9.
- Reading#5: (i) Code Complete
Chapters 9~11 on pseudo code programming, and the use of variables (Ken,
Jason, Kevin, and Joseph). Class
discussion: Tuesday Mar 14. Report
Due: Tuesday Mar 21.
Weeks
6~7: Testing and debugging: Phase I
- Project activities: Coding, testing, and debugging
- Reading#6: Code Complete Chapter 22 on testing. (Andre
and Jennifer). Class
discussion: Thursday Mar 16. Report Due: Mar 28.
- Homework #4 on testing. Due: Tuesday, April 4.
Weeks
8-9: Mission conference & Preparing for the midterm inspection
- Written test on the readings from Code
Complete Tuesday, Mar 28.
- Reading#7: Code Complete Chapter 20 and 21 on
software quality and collaborative construction. (Chris and Aaron). Report Due: Tuesday, May 4.
- Homework #5 on defensive programming. Due: Tuesday,
April 11.
- Midterm project presentation April 3 ~ April 11.
Weeks
10-11: Midterm inspection
- Send (i) the requirements
and specification, (ii) the code and design documentation, and (iii)
related web URL of your project to your peer reviewer for inspection by Tuesday, April 11.
- Send your midterm project summary report to Dr. Lin by Tuesday, April 11.
- Conduct peer review and code
inspection: April 11~April 25.
- Write your peer review report and send it to Dr. Lin by Tuesday, April 25.
Code Complete test 1:
Questions ( a
set of sample answers)
Weeks
12-14: Revision and fine tuning: requirements, specification, design, and code
- Reading#8: (i)
Code Complete Chapter 23 on debugging. (discussion: Kevin and
Joseph). (ii)
Code Complete Chapter 24, 25 26 on refactoring and code tuning.
(discussion: Aaron, Chris, and Jennifer). Class
discussion: Tuesday May 2. Report Due: Tuesday May 9.
- Reading#9: Code Complete Chapter 28 on managing
construction and Chapter 29 on integration (discussion: Jason and
Kenny). Class
discussion: Thursday May 4. Report Due: Tuesday May 16.
- Reading#10: Code Complete Chapter 31 on layout and
style and Chapter 32 on self-documenting code (discussion: Edmond
and Mamoru). Class
discussion: Tuesday May 9. Report Due: Tuesday May 23.
Related
software engineering books
- specification and requirement analysis: 1 (recommended by Kenny)
- testing: 1
Written homework assignments:
#1, #2, #3, #4, #5
No
class on Thursday, May 19
Code Complete test 2: 3:30pm Tuesday, May 23 at
Metzger 100.
Final
Project Due: Tuesday, May 30.
- Send (i) your project
summary report, (ii) the final code and documentation, and
(iii) related web URL of your project to Dr. Lin.
Final
Written Test
To the Top of this Page