SE 104-01: Introduction to Software Engineering

This course covers the fundamental concepts and methodologies of software engineering. It emphasizes the main phases of the software lifecycle, such as requirements, design, implementation, testing, project planning. Also, it stresses the difference between the software product and process. The course incorporates a class project. Students will work in groups to design and build a robot, according to specifications given in class. There will be a robot competition at the end of the semester.

Video of SE104, Spring 2011 Robot Competition

 

 

 

 

Dr. Allen Milewski
Howard Hall, Room B11
(732) 571-7578
amilewsk@monmouth.edu

Office Hours:

 

 

 

 

 or by Appointment

 

 

 

 

 

 

SAMPLE SYLLABUS--Students Enrolled in SE 104 can find complete Course Materials at ecampus.monmouth.edu )

Required Readings

  • [SE] Douglas Bell, Software Engineering: A Programming Approach (3rd Edition), Addison-Wesley, 2000.
  • [ETH] Deborah Johnson, Computer Ethics, Prentice Hall

Assignments

There will be weekly reading assignments as well as weekly Homework Exercises assigned in class that are due at the end of Wednesday's class session

Engineering Skills

      This course addresses the following outcomes:

  • an ability to apply knowledge of mathematics, science and engineering
  • an ability to design a system, component or process to meet desired needs
  • an ability to identify, formulate, and solve engineering problems
  • an understanding of professional and ethical responsibility
  • a knowledge of contemporary issues
  • the broad education necessary to understand the impact of engineering solutions in a global and societal context

Lecture Notes

Lectures will follow the schedule below. Notes will generally be posted on the Course Management System (CMS) prior to class

Course Policies

Evaluation:

Project

Assignments

Class participation

First Test

Second Test

Final Exam

20%

15%

5%

20%

20%

20%

Attendance:

Attendance at classes is mandatory. Students are responsible for all material covered and announcements made in class.

Academic Honesty:

Everything turned in for grading in this course must be your own work. Students who contribute to violations by sharing their code/designs /solutions with others are subject to the same penalty. By the Monmouth University policy, students found to be in violation of this rule will, at the very least, receive a failing grade in the course and may be subject to stiffer penalties.

Special Accommodations:

Students with disabilities who need special accommodations for this class are encouraged to meet with me or the appropriate disability service provider on campus as soon as possible. In order to receive accommodations, students must be registered with the appropriate disability service provider as set forth in the student handbook and must follow the University procedure for self-disclosure, which is stated in the University Guide to Services and Accommodations for Students with Disabilities. Students will not be afforded special accommodations for academic work done prior to completion of the documentation process with the appropriate disability service office.

Withdrawal:

Last day to withdraw with automatic assignment of "W" grade: ---.

Portfolio:

Save copies of your work for inclusion in your portfolio.

Project

The project is a team exercise to build a Robot meeting requirements specified in class. Grading will be based on performance AND teamwork.

Lecture Topic

Assignments

Week of

Lecture Topic

Assignments

Week of

1. -Introduction to Software Engineering.
-Introduction to Computer Ethics.
-Project teams formed.

Chap 1 –SE
Chap 1 - ETH

 

8. -User interface design.
- Project teams complete the designs for the robots
- Project Design due 3/19- includes (i) Parts Checklist (ii)Drawings (or photographs) of assemblies (iii) Software Design

Chap 11 – SE
Chap 6 – ETH
(p 137 – 153)

 

2. -Process Models and Software Products
-Project teams document process model to be followed in building their robots

Chap 2 – SE
Chap 3 – ETH
(p 54-66)

 

9. -Programming paradigms
- Project teams begin implementation of the robots

Chap 13 – SE
Chap 6 –ETH
(p153-167)

 

3. -Requirements Analysis -Project teams begin developing requirements for robots -Project Process Document Due 2/6

Chap 3 – SE
Chap 3 – ETH
(p67 -80)

 

10. -Object-oriented programming
- Test #2 4/2

Chap 14 – SE
Chap 7 –ETH
(p168-185)

 

4. -Structured design I, Modularity

Chap 6 – SE
Chap 4 – ETH
(p 81-95)

 

11. -Verification
- Project teams complete the implementation for the robots

Chap 19 - SE
Chap 7 –ETH
(p 186 - 198)

 

5. -Structured design II: -Functional decomposition
-Project teams complete the requirements for the robot
- Test #1 - 2/20

Chap 7 – SE
Chap 4 – ETH
(p95 - 108)

 

12. -Issues of Software fault tolerance and exceptions
- Project teams begin identifying testing methods for robots
-Project Test Plan Due 4/16

Chap 20 - SE
Chap 8 –ETH
(p 199 – 213)

 

6.-Structured design III: Data Flow Design
- Project teams begin designing robots

-Project Requirements Document Due 2/27

Chap 9 – SE
Chap 5 – ETH
(p109-125)

 

13. -Project management
- Project teams begin testing the robots

Chap 22 - SE
Chap 8 –ETH
(p 213 – 230)

 

7. -Object-oriented design

Chap 10 – SE
Chap 5 – ETH
(p125-136)

 

14. -Course wrap-up and review
- Project teams turn in all project documents and Robot 4/28
- Robot competition takes place this week!!.

 


 

Final Exam--TBD