Software Engineering

CAS CS411 (Fall 2007)

 

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:30-5:30pm

Office location:

Psychology Building 234

Email:

jkeklak@bu.edu

 

 

Teaching Fellow

 

Jeff Zou

 

Office hours:

Tues & Thurs 2-4pm

Office location:

Undergraduate Lab

Email:

jeffzou@bu.edu

 

 

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

-

50%

Homework

-

10%

Mid-term

-

15%

Final

-

20%

Class participation

-

5%

 

Incompletes will not be given.

 

Grades are posted at http://cs-people.bu.edu/jeffzou/CS411/Grades.html. Students are identified by the last four digits of their BU id.

 

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: the October 22 and December 10 team project deliveries will not be accepted late.

 

Tests

 

Midterm:

Monday, Oct 22

Final:

Monday, Dec 17

 

Team Project

 

The team project is 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 for the term project.

 

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.


 


September 2007

Lecture topics

Sun

Mon

Tue

Wed

Thu

Fri

Sat

 

2

3

4

5

6

7

8

 

9

10

11

12

13

14

15

+ Introduction

+ What is Software Engineering?

+ Course overview

+ Requirements engineering

Assignment for 9/17/2007

Audio

Images

16

17

18

19

20

21

22

+ Scope out Team Project #1

+ Risk analysis

+ Schedule estimation

Assignment for 9/24/2007

Audio

Images

23

24

25

26

27

28

29

+ System design

+ Human factors

+ Risk analysis revisited

+ Schedule estimation revisited

Assignment for 10/01/2007

Audio

Images

30

 

 

 

 

 

 

 

October 2007

 

 

1

2

3

4

5

6

+ Code construction

+ Task analysis

+ Risk analysis revisited

+ Schedule estimation revisited

Assignment for 10/09/2007

Audio

Images

7

8

9

10

11

12

13

+ Quality assurance

+ Metrics

+ Risk analysis revisited

+ Schedule estimation revisited

Assignment for 10/15/2007

Audio

Images

14

15

16

17

18

19

20

+ Code construction – good practices

+ Software delivery issues

No assignment

21

22

23

24

25

26

27

+ Mid-term exam (1.5 hr)

+ Lessons learned from term projects so far

+ Scope out Team Project #2

No assignment

28

29

30

31

 

 

 

+ Scope out Team Project #2

+ Requirements engineering revisited

Assignment for 11/05/2007

Audio

Images

November 2007

 

 

 

 

 

1

2

3

 

4

5

6

7

8

9

10

+ System design revisited

Assignment for 11/19/2007

Audio

Images

11

12

13

14

15

16

17

No class -- Veterans Day

18

19

20

21

22

23

24

+ Quality assurance revisited

Assignment for 11/22/2007

Audio

Images

25

26

27

28

29

30

 

+ Managing the software engineering process

Assignment for 12/03/2007

Audio

Images

December 2007

 

 

 

 

 

 

 

1

 

2

3

4

5

6

7

8

+ Special topics in software engineering – extreme programming, agile development

+ Economics of software development

Assignment for 12/10/2007

Audio

Images

9

10

11

12

13

14

15

+ TBD

Audio

Images

16

17

18

19

20

21

22

+ Final exam

23

24

25

26

27

28

29

 

30

31