Software Engineering

CAS CS411 (Fall 2009)

 

Syllabus

 

 

Course Description

 

This course provides an introduction to the fundamental areas of software engineering: requirements specification, effort estimation/scheduling, design, code construction, validation, delivery, and project management.

 

Prerequisites

 

CS112 or CS113 or consent of instructor

 

Experience with C, C++, C# or Java

 

Lectures

 

M 6-9pm in MCS 149

 

Instructor

 

John Keklak

 

Office hours:

M 2:30pm-5:30pm

Office location:

PSY 234

Email:

jkeklak@bu.edu

 

 

Teaching Fellow

 

TBA

 

Office hours:

TBA

Office location:

TBA

Email:

TBA

 

 

Required Texts

 

Frederick P. Brooks, Jr. The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition, (1995). ISBN 978-0-2-0183595-3

 

Steve McConnell, Rapid Development, 1st Edition (1996). ISBN 978-1-5-5615900-8

 

Optional Texts

 

Steve McConnell, Code Complete, 2nd Edition (2004). ISBN 978-0-7-3561967-8

 

Andrew Hunt and David Thomas, The Pragmatic Programmer (2000). ISBN 0-201-61622-X

 

Ian Sommerville, Software Engineering, 8th Edition (2007). ISBN 0-321-31379-9

 

Steve McConnell, After the Gold Rush, (1999). ISBN Out of Print. May be available used on Amazon and eBay.

 

Grading

 

Grades will be determined by the following weighting:

 

Team projects

-

40% (15%+25%)

Homework

-

20%

Mid-term

-

15%

Final

-

0%

Class participation

-

25%

 

Incompletes will not be given.

 

Grades are posted on-line here. Students are identified by the last four digits of their BU id.

 

Lecture Structure

 

Each lecture will be approximately 1/3 presentation of course material, 1/3 lab exercise and 1/3 follow-up discussion. Much of your class participation grade is determined by the lab exercise and follow-up discussion portions of the lecture. Therefore absences and early departures will significantly and adversely affect the class participation component of your grade. Details about the lab portion of the course are posted here.

 

Weekly Assignments

 

Each week an assignment related to the most recent lecture will be due at the beginning of the next lecture. Readings related to the weekly assignments will be assigned at each lecture.

 

Late Assignments

 

Late homework and term project items will be levied a late penalty of 10% per day (up to 3 days). After 3 days, no credit will be given. Exception to this policy: team project deliveries will not be accepted late.

 

Tests

 

Midterm:

October 26

Final:

Not given this year

 

 

Team Project I -- The Professor's Web Site Manager

Team Project II-- Boston University Adventure

 

The team projects are designed to put students through the experience of complete development cycles, from the conception of a software product to the final release. Each student will be assigned to a team and will contribute in one or more roles (roles include product definition, system design, code construction, quality assurance, documentation). The deliverables will include (but are not limited to) all the supporting documentation, ranging from requirement/feature specifications, test plans, system design, schedules, task lists and bug reports. All students on a team will receive the same grade.

 

 

Collaboration

 

All course participants must adhere to the College of Arts and Sciences Academic Conduct Code. Printed copies of the code are available from CAS 105. All instances of academic dishonesty will be reported to the academic conduct committee.

 

Course Mailing List

 

The course mailing list is named cascs411a1-l@bu.edu and is managed by IT's majordomo engine. You will need to subscribe to the course mailing list yourself. Send the following e-mail message to majordomo@bu.edu:

 

subscribe cascs411a1-l address

 

where address is your e-mail address. This should be in the body of the e-mail. Text in the e-mail subject line is ignored.

 

Students are welcome to post messages and questions to the mailing list. To send e-mail to the course mailing list, use the e-mail address: cascs411a1-l@bu.edu

 

To get more information about this e-mail list facility (or to remove your name) see the online documentation.

 

Email Responses

 

I will check my email each morning at about 9am, and will reply to your emails within 24 hours, barring some unforeseen circumstance.


2009 Class Schedule


September

Lecture topics

Sun

Mon

Tue

Wed

Thu

Fri

Sat

 

30

31

1

2

3

4

5

 

6

7

8

9

10

11

12

 

13

14

15

16

17

18

19

+ Introduction

+ What is Software Engineering?

+ Course overview

+ Requirements engineering

+Scope out project #1

Assignment due at next lecture

Audio

Images

20

21

22

23

24

25

26

+Requirements engineering

Assignment due at next lecture

Audio

Images

27

28

29

30

 

 

 

+ Requirements testing

+ Project #1 snapshot #1 due

Assignment due at next lecture

Audio

Images

 

 

 

 

 

 

 

 

October

 

 

 

 

 

1

2

3

 

4

5

6

7

8

9

10

+ Effort estimation and scheduling

Assignment due at next lecture

Audio

Images

11

12

13

14

15

16

17

+ Design

+ Project #1 snapshot #2 due

Assignment due at next lecture

Audio

Images

18

19

20

21

22

23

24

+ Design

+ Code construction - good practices

No assignment

25

26

27

28

29

30

31

+ Mid-term exam (1.5 hr)

+ Scope out Team Project #2

No assignment

November

 

 

 

 

 

 

 

 

 

1

2

3

4

5

6

7

+ Design

Assignment due at next lecture

Audio

Images

8

9

10

11

12

13

14

+ Design -- Introduction to I/S/L

Assignment due at next lecture

Audio

Images

15

16

17

18

19

20

21

+ Design

Assignment due at next lecture

Audio

Images

22

23

24

25

26

27

28

+ Introduction to UML

Assignment due at next lecture

Audio

Images

29

30

 

 

 

 

 

+ Introduction to Design Patterns

Assignment due at next lecture

Audio

Images

December

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

 

6

7

8

9

10

11

12

+ Introduction to Agile, XP

Assignment due at next lecture

Audio

Images

13

14

15

16

17

18

19

+ TBD

Audio

Images

20

21

22

23

24

25

26

 

27

28

29

30

31