CSCI 362-03 (11:20 AM) fall 2015

Dr. Bowring

The Good Stuff from CofC CS

Syllabus

Course Description with Outcomes

Textbook Student Resources

Class Wiki

Schedule:

Date in 2015
Topic Readings due Assignments due this day by 11:20 AM Check This Out Team Project Tasks & Milestones due by 11:20 AM
T 25 Aug
Introductions
  11110101111

StartUp Weekend - REGISTER!

Student Mobile App Competition

Y Combinator News

TechNews

Internet of Things

David Schirduan

Project Specifications

H/FOSS

Joye's Blog

 

 

R 27 Aug Overview of Software Engineering

Chapter 1

No Silver Bullet
Kode Vicious
Software Analytics

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

Blog SubTitle = "Introduction"

Make linked entry on class wiki to your blog.

HW1: Ex 1.3, 1.8, 1.9, 1.10

Blog SubTitle = "Chapter 1"

Starting with Git

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


Team Exercise
Testing Triangle Program : Test Case Definition

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

Learn about scripts, beginner bash, advanced bash.

FS

28-29

Aug

Sparc Hackathon
T 01 Sep
Ethical Issues in Software Engineering

Dependable Systems

ACM Code of Ethics
ACM SE Code of Ethics
SE Ethics in a Digital World

Ethical Cars

Chapter 10

HW2: 500+ word response to No Silver Bullet, Kode Vicious, and Software Analytics 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

Slate on SE Ethics

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 03

Sep

Reliability and Safety Engineering

Therac-25 Accidents


2010 Radiation Follies


HealthCare.gov
HealthCare.gov #2

Chapter 11

Chapter 12

HW4: Ex 11.4, 11.7, 11.9

Blog SubTitle = "HW4: Chapter 11"

10 Serious Bugs

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.

T 08 Sep
Security and Resilience Engineering


Spacecraft Accidents


FBI Fiasco 2005
FBI Fiasco 2010
FBI Success 2012

Chapter 13

Chapter 14


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

Blog SubTitle = "HW5: Reflections"

10 Tech Failures 2013

Software Failures

 

Keep Out

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: We will assign a project to each team during class.

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

R 10 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 15 Sep
Software Processes

Chapter 2


The Future of Programming


Rapid Development Ch 7

HW8: 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 = "HW8: 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 team wiki.

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

R 17 Sep
No Class - Prepare for Startup Weekend

 

 

Why SE Blogging?

Video from SUW

 
18-20 Sep StartUp Weekend Participate or arrange alternate alternate = 1000+ word scholarly research paper by 23 Sept (midnight); [lastName]_Paper1.PDF by email to bowringj@cofc.edu Student Mobile App Competition
T 22 Sep

Review StartUp Weekend

System Modeling

Chapter 5

Chapter 6

Blog reflections on StartUp Weekend

Blog SubTitle = "StartUp Weekend"

 

 

R 24 Sep
Agile Software Development

Chapter 3
Ch 1 - 4 of: Mythical Man Month


Agile Manifesto
Agile Methods

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

Blog SubTitle = "HW9: Mythical Man Month"

Why Agile Isn't Working

 

T 29 Sep Software Testing

Chapter 8


Intro to Testing

HW10: Ex 8.7, 8.10

Blog SubTitle = "HW10: Chapter 8"

Blog reflections on readings.

Blog SubTitle = "Testing Reflections"

Software Analysis

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 01 Oct

 

Software Reuse

 

Chapter 15

HW11: Ex 15.10

Blog SubTitle = "HW11: Chapter 15"

Mutation Testing
T 06 Oct Software Evolution Chapter 9
Legacy Systems

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

R 08 Oct Component-Based Software Engineering
Chapter 16

HW13: Ex 17.9 (note: s.b. 16.9)

Blog SubTitle = "HW13: Chapter 16"

Making Reuse Work

 

T 13 Oct TEST
R 15 Oct Service-Oriented Architecture
Chapter 18

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

   
T 20 Oct FALL BREAK NO CLASSES
R 22 Oct Team Presentations - work in progress  

Blog reflections on team progress.

Blog SubTitle = "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.

T 27 Oct Systems Engineering
Chapter 19

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

R 29 Oct Systems of Systems
Chapter 20
HW16: Ex 20.10
Blog SubTitle = "HW16: Chapter 20"
T 03 Nov

Distributed Software Engineering

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

 

R 05 Nov Real-time Software Engineering Chapter 21 HW18: Ex 21.4
Blog SubTitle = "HW18: Chapter 21"
T 10 Nov Project Management
Chapter 22
HW19: Ex 22.6
Blog SubTitle = "HW19: Chapter 22"
Software Mag  
R 12 Nov Team Presentations - work in progress

Blog reflections on team progress.

Blog SubTitle = "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.

T 17 Nov Project Planning Chapter 23 HW20: Ex 23.6
Blog SubTitle = "HW20: Chapter 23"
 

 

 

R 19 Nov Quality Management Chapter 24 HW21: Ex 24.6
Blog SubTitle = "HW21: Chapter 24"
 


T 24 Nov

Configuration Management

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

Deliverable #5:

Task: Design and inject 5 faults into 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 26 Nov T H A N K S G I V I N G
T 01 Dec Team Project Presentations   Final Report
R 03 Dec Team Project Presentations  
R 10 Dec 8 -11 AM FINAL EXAM - also PDF of BLOG as [lastName]_Blog.pdf email to bowringj@cofc.edu subject CSCI362