MC365
Software Engineering


Class Information

Instructor Brian Bernier
Meeting Times Tuesdays and Thursdays 4:30 - 5:45pm
Prerequisites
Students must have a basic understanding of the Java programming language.
Classroom Fulton 415
Labs & Homework Labs will usually be on Tuesdays after lecture.
Thursdays after lecture will usually be devoted to work on final projects.

For homeworks and final projects, use your personal computers.
For some homeworks, you may use the computer lab in Fulton 160.  To use this lab, you need a password.   If you don't already have one, see Jane Costello in Fulton 460.
Note:  Much of the work can not be done in the labs because you will need to install applications.

Contact Information

Office Address 207F Waul House 
Boston College 
256 Hammond Street 
Chestnut Hill, MA  02467
Phone (617) 552-3079
Email bernier@bc.edu
Office Hours by appointment
TA
Evan McCarthy
evan.mccarthy.1@bc.edu

Grades

Homework (policy on homework) 25%
Presentations (description)
10%
Final Project (description) (teams) 40%
Quizzes on reading assignments and class topics 25%

Resources

Textbook Software Engineering:  Theory and Practice Second Edition
by Shari Lawrence Pfleeger
J2EE tutorial on Sun's web site http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/J2eeTutorialTOC.html
The Apache Jakarta Project web site
http://jakarta.apache.org/tomcat/index.html
API documentation http://java.sun.com/j2se/1.4.1/docs/api/index.html

Goals of Class

Provide an understanding of software development process including the software development life cycle.
Use object-oriented design and J2EE technologies to reinforce the concepts through real-world examples and realistic projects.
Familiarize students with the tools used in the various phases of the development process.
Introduce some advanced software engineering topics like XML parsing and LDAP communication.
Overall goal:  Prepare students for a career in software engineering.

Course Outline

Tuesday 
January 14
Course Introduction 


Lab
Homework due Jan 21
Lecture Notes
Thursday 
January 16
Software Development Life Cycle
Introduction of the tools used

Lab

Lecture Notes
Tuesday 
January 21
IDE's
Eclipse

Lab
Homework due Jan 28
Lecture Notes
Thursday 
January 23
No Class



Tuesday 
January 28
IDE's
Final Project Ideas due
Presentation Topics due
Lab
Homework due Feb 4
Lecture Notes
Thursday 
January 30
Attend meeting for Technology Council Career Symposium




Tuesday 
February 4
Application Servers, Servlets and JSP's
Tomcat

Lab
Homework due Feb 13
Lecture Notes
Thursday 
February 6
Application Servers, Servlets and JSP's
Servlets



Lecture Notes
Tuesday 
February 11
Application Servers, Servlets and JSP's
Servlets lab

Lab
Homework due Feb. 20

Thursday 
February 13
Application Servers, Servlets and JSP's
JSP's and Session Management



Lecture Notes
Tuesday 
February 18
No Class - due to snow.




Thursday 
February 20
No Class - Technology Symposium




Tuesday 
February 25
Application Servers, Servlets and JSP's
JSP lab

Lab


Thursday 
February 27
Quiz #1  (see answers)




Tuesday 
March 4
Spring Break - No Class


Thursday 
March 6
Spring Break - No Class


Tuesday 
March 11
Review Quizzes
JDBC and Server-Side Programming
JDBC in Servlets and DBVisualizer




Homework due March 18
Lecture Notes
Thursday 
March 13
JDBC and Server-Side Programming
JDBC lab

Lab


Tuesday 
March 18
Team Presentations
Team #1's presentation on Web Services
Team #2's presentation on Cryptogaphy
Team #3's presentation on SOAP
Team #4's presentation on XSLT
Team #5's presentation on EJB's


Homework due March 25

Thursday 
March 20
Team Presentations




Tuesday 
March 25
Source Control Management Tools
CVS


Homework due April 1

Thursday 
March 27
Build and Deployment Tools
Ant



Lecture Notes
Tuesday 
April 1
JDBC and Server-Side Programming
Updating a DB Using JDBC, Connection Pooling


Homework due April 8
Lecture Notes
Thursday 
April 3
JDBC and Server-Side Programming
Updating a DB Using JDBC, Connection Pooling

Lab


Tuesday 
April 8
JDBC and Server-Side Programming
Updating a DB Using JDBC, Connection Pooling




Thursday 
April 10
XML
Dom & Sax Parsers


Homework due April 22
Lecture Notes
Tuesday 
April 15
XML lab
Dom & Sax Parsers

Lab


Thursday 
April 17
Easter Break - No Class




Tuesday
April 22
Work on final projects




Thursday
April 24
Work on final projects




Tuesday
April 29
Quiz #2




Thursday
May 1
Study Day - No Class



Tuesday
May 6
Final Project Presentations