CSCI 362-01 (8:30 AM) fall 2016

Dr. Bowring

The Good Stuff from CofC CS

Syllabus

Course Description with Outcomes

Textbook Student Resources

Class Wiki

Schedule:

Date in 2016
Topic Readings due Assignments due this day by 8:30 AM Check This Out Team Project Tasks & Milestones due by 8:30 AM
T 23 Aug
Introductions
  11110101111

Y Combinator News

TechNews

Internet of Things

David Schirduan

H/FOSS

Joye's Blog

Sparc Hackathon

Read this:

Team Term Project Specifications

 

R 25 Aug Overview of Software Engineering

Why SE Blogging?

Chapter 1

No Silver Bullet

Kode Vicious

Google Code Repo

HW0: Create your blog and blog to introduce yourself. Create a GitHub account.

Blog SubTitle = "HW0: Introduction"

Make linked entry on class wiki to your blog.

HW1: Ex 1.3, 1.8, 1.9, 1.10

Blog SubTitle = "HW1: Chapter 1"

Learn Git

Git videos (short):
What is VC,
What is Git,
Start Git,
Win with Git

Unit Testing Checklist

Form Teams - submit contact info including GitHub account names - via email to bowringj@cofc.edu: names, emails, github account names, etc.; Team names?


Team Exercise
Testing Triangle Program : Test Case Definition

Get familiar with Ubuntu, Subversion, GitHub, Slack, and VirtualBox

Learn about scripts, beginner bash, advanced bash.

T 30 Aug
Ethical Issues in Software Engineering

Dependable Systems

ACM Code of Ethics


ACM SE Code of Ethics


SE Ethics in a Digital World

Spirit of Engineering

Chapter 10

HW2: 500+ word response to No Silver Bullet, Kode Vicious, and Google Code Repo taken together - find common concerns in the articles and reflect upon them.

Blog SubTitle = "HW2: Responses"

HW3: Ex 10.6, 10.10 with reference to SE Code of Ethics

Blog SubTitle = "HW3: Chapter 10"

Charleston Digital Corridor

Speaker:

Alex Castelli, CODEcamp Coordinator
Charleston Digital Corridor slides

Customize Team repository at GitHub.com.

Create Team Wiki in your team GitHub repository. Use the wiki to document your team and your project, including a timeline. Place a link to your team's github repository on the class wiki.

Learn about scripts, beginner bash, advanced bash.

R 01

Sep

Reliability and Safety Engineering

Therac-25 Accidents


2010 Radiation Follies


FBI Auto Warning

Chapter 11

Chapter 12

HW4: Ex 11.4, 11.7, 11.9, 12.5

Blog SubTitle = "HW4: Chapters 11 & 12"

10 Serious Bugs

TERM TEAM PROJECT:

Project Specifications

Task: Evaluate H/FOSS projects and select 1st, 2nd, 3rd candidates. See Deliverable #1 for criteria. Be sure that the code base is designed to compile and run on Linux (no Windows-only projects).

Report: Document your work on the team wiki. Bring these candidates to class and be prepared to summarize why you chose each one.

Note: Each team will make their choice bythe end of this class.

NOTE: You are required to use GitHub team repository to store and track your team deliverables and for your team wiki.

T 06 Sep
Security and Resilience Engineering


Spacecraft Accidents


FBI Fiasco 2005
FBI Fiasco 2010
FBI Success 2012 FBI NotDone 2014

Chapter 13

Chapter 14


HW5: 500+ word response to all readings from 1 Sep and 6 Sep including Chapters 13 and 14 - find common concerns in the articles and reflect upon them.

Blog SubTitle = "HW5: Reflections"

Bugs

Software Failures

 

Keep Out

Team Exercise:

All team projects will be built using an open source unix operating system such as Ubuntu. Your first project is to collaborate as a team using the github repository to write a script myList.[script extension] for Unix that lists the top-level directory contents of its containing directory in an html file displayed in a browser. Post a link to your code in your team wiki along with example outputs. Demo in class today - be sure you have a laptop and required cables.

R 08 Sep Requirements Engineering

Magical Number 7


Tire Pressure Monitoring System

Spy Car Act of 2015


Planning for Failure


Test-Driven Development

Chapter 4

 

HW6: Ex 4.5, 4.6, 4.7

Blog SubTitle = "HW6: Chapter 4"

HW7: response to all today's readings - find common concerns in the articles and reflect upon them.

Blog SubTitle = "HW7: Reflections"

Meter Reader Hacks

Hacked Home

 

T 13 Sep

Software Processes

Team Presentations - work in progress

Chapter 2


Rapid Development Ch 7

The Future of Programming

HW8: Ex 2.1

Blog SubTitle = "HW8: Chapter 2"

HW9: 500+ word essay on where you think programming and software engineering are headed; do you agree with the Future of Programming - why or why not?

Blog SubTitle = "HW9: Reflections"

Hackathons

Corporate Hackathons

DELIVERABLE #1:
Task: Checkout or clone project from its repository and build it - if you do not know how to compile the code, ask! Run existing tests and collect results. Evaluate experience and project so far.

Report: This is Chapter 1 of your Final Report. Report on your chosen project and your experiences executing the task above. Document progress on wiki.

Due: [team-name]_deliverable1.PDF in team's GitHub repository

R 15 Sep
System Modeling

Chapter 5

HW10: Ex 5.3, 5.5, 5.7, 5.8

Blog SubTitle = "HW10: Chapter 5"

 

 
T 20 Sep

Architectural Design

Chapter 6

HW11: Ex 6.4

Blog SubTitle = "HW11: Chapter 6"

 

 

R 22 Sep
Agile Software Development

Chapter 3
Ch 1 - 4 of: Mythical Man Month


Agile Manifesto
Agile Methods

HW12: 500+ word response to MMM(1-4)

Blog SubTitle = "HW12: Mythical Man Month"

Why Agile Isn't Working

 

T 27 Sep

Software Testing

Team Presentations - work in progress

Chapter 8


Intro to Testing

HW13: Ex 8.7, 8.10

Blog SubTitle = "HW13: Chapter 8"

HW14: Blog reflections on readings.

Blog SubTitle = "HW14: Testing Reflections"

Software Analysis

Mutation Testing

DELIVERABLE #2:


Task: Produce a detailed test plan (see p. 217 text) for your project. As part of this plan, you will specify at least 5 of the eventual 25 test cases that you will develop for this software.

Report: This is Chapter 2 of your Final Report. Report on your experiences and provide the details produced in the task above. These details should also include detailed specifications of your test plan and at least 5 of the eventual 25 test cases. Document progress on wiki.

Due: [team-name]_deliverable2.PDF in team's GitHub repository. Be ready to present your testplan in class.

Note: As you are incrementally building a coherent Final Report with each deliverable as a chapter, you may submit the completed document-to-date with the above-specified name.

 

R 29 Sep

 

Software Reuse

 

Chapter 15

HW15: Ex 15.10

Blog SubTitle = "HW15: Chapter 15"

Making Reuse Work

T 04 Oct Software Evolution Chapter 9
Legacy Systems

HW16: Ex 9.8, 9.10
Blog SubTitle = "HW16: Chapter 9"

R 06 Oct Hurricane Matthew        
T 11 Oct Hurricane Matthew
R 13 Oct Component-Based Software Engineering
Chapter 16

HW17: Ex 16.9

Blog SubTitle = "HW17: Chapter 16"

 

T 18 Oct TEST
R 20 Oct Service-Oriented Architecture
Chapter 18

HW18: Ex 18.4
Blog SubTitle = "HW18: Chapter 18"

   
T 25 Oct Team Presentations - work in progress  

HW19: Blog reflections on team progress.

Blog SubTitle ="HW19: Team Progress I"

 

DELIVERABLE #3:

Preparation: For those teams that have been instructed to re-work their test plans, do so and resubmit with this deliverable.

Task: Design and build an automated testing framework that you will use to implement your test plan per the Project Specifications document.

Report: This is Chapter 3 of your Final Report. Report on your experiences and provide the details produced in the task above. These details should also include an architectural description of your framework, full how-to documentation, a set of at least 5 of the eventual 25 test cases. Document progress on wiki.

Due: [team-name]_deliverable3.PDF in team's GitHub repository; Be ready to demonstrate your framework in class.

Note: As you are incrementally building a coherent Final Report with each deliverable as a chapter, you may submit the completed document-to-date with the above-specified name.

R 27 Oct Systems Engineering
Chapter 19

HW20: Ex 19.3
Blog SubTitle = "HW20: Chapter 19"

T 01 Nov Systems of Systems
Chapter 20
HW21: Ex 20.10
Blog SubTitle = "HW21: Chapter 20"
R 03 Nov

Distributed Software Engineering

Chapter 17 HW22: Ex 17.10
Blog SubTitle = "HW22: Chapter 17"
 

 

T 08 Nov FALL BREAK NO CLASSES - REMEMBER TO VOTE !
R 10 Nov Project Management
Chapter 22

HW23: CANCELLED

HW24: Ex 22.6
Blog SubTitle = "HW24: Chapter 22"

Software Mag  
T 15 Nov Team Presentations - work in progress

HW25: Blog reflections on team progress.

Blog SubTitle = "HW25:Team Progress II"

DELIVERABLE #4:

Preparation: Make changes as directed.

Task: Complete the design and implementation of your testing framework as specified in Deliverable #3. You are now ready to test your project in earnest. You will create 25 test cases that your framework will automatically use to test your H/FOSS project.

Report: This is Chapter 4 of your Final Report. Report on your experiences and provide the details produced in the task above. This is your opportunity to get your report organized into a professional-quality deliverable. Document progress on wiki.

Due: [team-name]_deliverable4.PDF in team's GitHub repository; Be ready to demonstrate your framework in class.

Note: As you are incrementally building a coherent Final Report with each deliverable as a chapter, you may submit the completed document-to-date with the above-specified name.

R 17 Nov Project Planning Chapter 23 HW26: Ex 23.6
Blog SubTitle = "HW26: Chapter 23"
 

 

 

T 22 Nov Quality Management Chapter 24 HW27: Ex 24.6
Blog SubTitle = "HW27: Chapter 24"
 


R 24 Nov T H A N K S G I V I N G
T 29 Nov

Configuration Management

Chapter 25 HW28: Ex 25.10
Blog SubTitle = "HW28: Chapter 25"

Deliverable #5:

Task: Design and inject 5 faults into the code you are testing that will cause at least 5 tests to fail, but hopefully not all tests to fail. Exercise your framework and analyze the results.

Report: This is Chapter 5 of your Final Report. You will provide a detailed description of exactly what you changed in the code so that I can duplicate the faults and get the same results you do. Identify the tests you are planning to have fail. Report on your experiences and lessons learned. Document progress on wiki.

Due: [team-name]_deliverable5.PDF in team's GitHub repository; Be ready to demonstrate your framework in class.

Note: As you are incrementally building a coherent Final Report with each deliverable as a chapter, you may submit the completed document-to-date with the above-specified name.

R 01 Dec Team Project Presentations   Final Report
T 06 Dec Team Project Presentations  
R 08 Dec TEST
Sun 11 Dec 6 PM PDF of BLOG as [lastName]_Blog.pdf email to bowringj@cofc.edu subject CSCI362