College of Computer Science 

Course Syllabus

 

CS 5500  Managing Software Development

 

2015 Fall Semester

Section 1: M, W     2:50 – 4:30pm, Ell Hall 312

Section 2: W          6-9pm, Dodge Hall 119

 

Instructor Name:

Michael Weintraub

E-mail:

m.weintraub@northeastern.edu

Office Hours:

M 1-2, 5-6, T 2-4, W: 1-2:30pm, and by appointment

Teaching Assistants

 

Buddhadev Veeramallu

buddha9@zimbra.ccs.neu.edu

Bharath Doddadunnasandra Narayana Reddy

bharathd@ccs.neu.edu

 

Pruthvi Kumar Reddy Challa

pruthvi@ccs.neu.edu

Text(s)/Software/Tools:

  1. Sommerville, Ian, Software Engineering 10th Edition, Pearson, ISBN: 9789-0-13-394303
  2. Brooks, Jr., F.P. The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition. Reading, MA: Addison-Wesley, 1995 – seminal work on structuring software teams and planning software projects.
  3. Beck, Kent, Extreme Programming Explained: Embrace Change. ISBN: 978-0321278654
  4. Arms, W., Cornell’s version of CS5500 course materials.  A complementary and interesting view. http://www.cs.cornell.edu/courses/CS5150/2014fa/materials.html

Other books:

·       Marsic, Ivan. (2012). Software Engineering.

·       Bourque, Pierre and Richard E. Fairley (eds). (2014). Guide to the Software Engineering Body of Knowledge.

·       Pressman, Roger. (2005). Software Engineering: A Practitioner’s Approach.

·       Gamma, Helm, Johnson, Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading MA.

·       Felleisen, Findler, Flatt, Krishnamurthi. (2001). How to Design Programs (Links to an external site.), MIT Press, Cambridge MA.

·       Schedlbauer, Martin, (2010) Building Information Systems, The Art of Business Analysis and System Design

Course Prerequisites

(a) CS 5010

(b) Admission to MS program or completion of all transition courses; restricted to students in the College of Computer and Information Science.

Course Description

Covers software life cycle models (waterfall, spiral, and so forth), domain engineering methods, requirements analysis methods (including formal specifications), software design principles and methods, verification and testing methods, resource and schedule estimation for individual software engineers, component-based software development methods and architecture, and languages for describing software processes. Includes a project where some of the software engineering methods (from domain modeling to testing) are applied in an example.

Visual Syllabus

If a picture says a thousand words, here’s a graphical version of what the syllabus text says.

Course Outcomes

You will have the opportunity to increase their understanding for what it takes to deliver successful software systems working in small teams and to develop appropriate knowledge and skills.  That is, you will have the opportunity to learn and apply knowledge and skills about:

  1. Software development lifecycles
  2. Requirements elicitation and management
  3. Architecture and Design
  4. Testing

Course Methodology

The course involves a combination of lectures, discussion, and hands on activity.  You may do reviews of other student’s designs, documents, or code.  Your participation and contributions are important.

Each week, you will be expected to:

  1. Review the week's learning objectives.
  2. Complete all assigned readings.
  3. Complete all lecture materials for the week.
  4. Participate in discussions.
  5. Complete and submit all assignments and tests by the due dates.

All work will be turned in using Blackboard.

The hands-on elements are intended to simulate real-life experience.  There will be individual assignments and assignments given to teams.   Key is the project.  You will be part of a ~4 person project team, and will work on a specified project using agile sprints.  The team may, with permission of the instructor, opt for a different development process model.  Teams may choose to form alliances.  Each side of the alliance should be considered a distinct entity.  As such, deliverables must be documented and acceptance plans defined.  You are reminded that failures by alliance partners may add risk to your own successful completion of the project.

You will have the opportunity to demonstrate your knowledge of the materials discussed in the lecture or discussions through a number of tests.

Sometimes, you may need extra help with something.   Please use the following escalation procedure for finding an answer or getting help:

  1. Ask a classmate
  2. Post to blackboard or piazza (the class will decide which it prefers)
  3. Ask the TA’s
  4. Ask the professor

The TA’s will be checking the discussion boards daily and providing answers.  We will endeavor to post answers by the end of the next business day, if not sooner.  However, you are encouraged to post (and critique) answers as well.  The first posted answer that resolves a question will get a gold star.  Gold stars count toward the class participation grade.  Gold stars may be awarded for exceptional insights or alternate answers as well.

Grading/Evaluation Standards

Late Work Policy

All work products you or your teams will produce are due as specified on the assignment.  You must make every effort to turn your work in by the deadline (early work is always appreciated). 

There can be a question as to what due as specified actually means.  Here are the definitions. 

If there is a time and day given, then that’s when the assignment must be submitted via blackboard.  For example, if your assignment is due by start of the next class, then the blackboard timestamp must be ClassStartTime less one second.  Or if the assignment is due by 3pm on Friday, then 2:59:59PM on that Friday is the latest blackboard timestamp you can have. 

Blackboard is the gold standard on time.  No submitting work California, Indiana Eastern, Hawaiian, or any other place west of the Northeastern Boston campus current time zone.

However, if no time is given on the due date, the material must be submitted on day the assignment is due.  Since we are trying to simulate the real world, no time defined means before the start of the following business day.  For example, if an assignment is due on Monday, your blackboard submitted timestamp must be before 8AM on Tuesday.  Unless there is a time crunch, no boss would look at your work at night.  Otherwise, she would have told you to send whatever you have that evening, by 9, or something like that.

Sometimes life gets in the way of schedules.  Sickness or other unplanned or extraordinary events happen and we will deal with these cases individually.  It is your responsibility to insure your situation is known to the professor as soon as reasonably possible.  Use your TA’s to advocate for you.  However, there are two important caveats you must understand.  First, you need to insure that somebody – myself or a TA – hears you.  Just sending something does not mean we got it.  You are accountable for being heard.  Again, use your TA’s to advocate.  Second, you need to insure that we – me or a TA – heard you.  GET A RECEIPT or a written acknowledgement.

No extensions are locked until an extension is given to you in blackboard. 

While “life happens,” poor planning by you does not count.  And definitely do not wait to discuss gray areas.  For example, an interview opportunity arises (good!).  You should not wait until the day before the assignment is due to let us know that you could not complete the assignment because you had to travel.  That would be considered poor planning.  Good planning would be to alert the TA or professor that you got the interview and, while you hope to finish the assignment, there is a concern.  Then when you don’t finish on time, it’s clear that you planned your time and that will be taken into consideration.  These “good planning” situations will be considered individually.

Late work will be docked 20% per day for a maximum of 50%.  So it still pays to turn in your work.

Disability

If you have a disability-related need for reasonable academic accommodations in this course and have not yet met with a Disability Specialist, please visit www.northeastern.edu/drc and follow the outlined procedure to request services.

After the Disability Resource Center has approved you for an academic accommodation in this class, please present your “Professor Notification Letter” to the instructor, ideally during the first week of the semester, so that we can address your specific needs and set up appropriate accomodations as early as possible.  

Class Schedule / Topical Outline

Week

Topic

Assignments

(Subject to Change)

Sept 9

Syllabus Overview

Introduction

 

Sept 14-16

The Software Development Lifecycle

Feasibility Analysis

Read text Ch. 2, 3

Read Agile manifesto and principles

Create a feasibility study for assigned problem

 

Sept 21-23

Requirements

Voice Of The User

Use cases

Req. models

Read text Ch. 4

Learn Atlassian Confluence and its requirements blueprint

UML for story visualization

Create an initial SRS in confluence

Optional: Guest speaker on Feasibility, Tuesday, 6pm (room TBD)

Sept 28-30

Architecture And Design

 

Principals Of Architecture, Abstraction Barriers,

Service Oriented Architectures

Component Oriented Design-

Read text Ch. 5,6,7, 15-20

SEI deck on Trends and Directions in Architecture http://resources.sei.cmu.edu/asset_files/Webinar/2015_018_100_438676.pdf

Learn UML diagramming

Optional: Guest speaker on Testing, Tuesday, 6pm (room TBD)

Oct 5-7

Oct 14

No School for Monday Section

Oct 17-19

Testing

Black/Glass Boxes

Test-Driven Development

Acceptance Test-Driven Development

Read text Ch. 8, 11

 

Oct 24-26

Tool Time

Overview of Jira, Git, Jenkins/Bamboo, chef/puppet? 

 

Project Teams Established

Optional: Guest speaker on Development, Tuesday, 6pm, Room TBD

Nov 2-4

Sprint Planning

Read Mythical Man-Month

Nov 9-11

No School for Wednesday Sections

Sprint

At the start of each sprint, deliverables for the next week will be assigned.  Because of the school off-days, we will decide how to communicate these expectations. 

 

Nov 16-18

 

Sprint

Nov 23-25

No School for Wednesday Sections

Sprint

Nov 30-Dec 2

Finish Line

Optional: Guest speaker on Operational Considerations, Tuesday, 6pm, Room TBD

Dec 7-9

Final Reflections And Review

 

Dec 11-20

Final Exam (To Be Scheduled)

 

 

Class Conduct

Please don’t be late.  You are an essential part of the class.  Your participation is an essential part of the class.  If you are late, please be courteous to others when entering.

BE PRESENT WHEN YOU ARE IN CLASS.  Please do not distract from the class by doing other activities such as phone calls, email, facebook, chat/IM/texting, games, web surfing – unless it has a direct bearing on the course.

Attendance is expected.  Sometimes you cannot avoid missing a class.  If you need to be away from class, it is your responsibility to catch up on the materials discussed in the class.  Assignments will be collected via blackboard, so there are very few acceptable excuses for late assignments.  Please be proactive whenever possible in alerting me or the TA’s when you find it impossible to turn work in on time. 

Use of Third Party Code and Materials

You are encouraged to use resources from the Internet unless otherwise specified. All materials used from other resources must be acknowledged and the sources/author must be properly credited. Failure to do so shall be considered plagiarism, which has severe repercussion to your grade and your academic standing in the University. As a student in the University you are expected to be familiar with and abide by Northeastern University rules of academic honesty and integrity, including plagiarism.

Academic Integrity Policy 

The University views academic dishonesty as one of the most serious offenses that a student can commit while in college and imposes appropriate punitive sanctions on violators. Here are some examples of academic dishonesty. While this is not an all-inclusive list, we hope this will help you to understand some of the things instructors look for. The following is excerpted from the University’s policy on academic integrity; the complete policy is available http://www.northeastern.edu/osccr/academic-integrity-policy/.

Cheating

intentionally using or attempting to use unauthorized materials, information or study aids in an academic exercise

Fabrication

intentional and unauthorized falsification, misrepresentation, or invention of any data, or citation in an academic exercise

Plagiarism

intentionally representing the words, ideas, or data of another as one’s own in any academic exercise without providing proper citation

Unauthorized collaboration

instances when students submit individual academic works that are substantially similar to one another; while several students may have the same source material, the analysis, interpretation, and reporting of the data must be each individual’s independent work.

Participation in academically dishonest activities

any action taken by a student with the intent of gaining an unfair advantage

Facilitating academic dishonesty

intentionally or knowingly helping or attempting to violate any provision of this policy

 

End-of-Course Evaluation Surveys (TRACE)

Your feedback regarding your educational experience in this class is very important to the College of Computer Science. Your comments will make a difference in the future planning and presentation of our curriculum.

TRACE (Teacher Rating and Course Evaluation) is a required part of every course. Your participation is needed and encouraged, as it is one way to enhance the quality of the course. Your voice matters!

At the end of this course, please take the time to complete the evaluation survey at https://neu.evaluationkit.com.  Your survey responses are completely anonymous and confidential.  For this class, surveys will be open for two weeks. An email will be sent to your HuskyMail account notifying you when surveys are available.

Northeastern University Copyright Statement

Northeastern University is a registered trademark of Northeastern University.

All other brand and product names are trademarks or registered trademarks of their respective companies.

This course material is copyrighted and Northeastern University reserves all rights. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or otherwise, without the express prior written permission of Northeastern University.

Copyright 2015 © by Northeastern University
All Rights Reserved