Colorado State University Computer Science Department


CS 314: Software Engineering, Spring 2016.
Class Session Blog: Class Session Review and Comments.


This page contains comments on the material covered in class sessions during the Spring 2016 semester.


Links:

The class session comments (below) are numbered as follows: week-number.session-number (for that week)


Class Session Comments:

15.2 Wednesday 4 May 2016.

We held Design Studio 7 on software safety, which focused on the Therac-25 software disaster. We saw that interrupts combined with shared variables and a bad way to connect the user interface with the functional code can lead to deadly race conditions.

Don't forget to complete the Post-class retrospective writing for the design studio DUE Thursday 5 May 2016, 11:55 PM.

15.1 Monday 2 May 2016.

We returned Exam 2 to the class (Average: 78%) and reviewed solutions to the questions and problems. I also announced that, so far, two teams plan to demonstrate their enhanced Adventure Game on Friday: iCUP and TeamVenture. We continued the discussion of Software Safety finishing Notes 6.

Reminder: Design Studio 7 is scheduled for Wednesday. Do the preparation and take the Safety Quiz (Quiz 6).

14.3 Friday 29 April 2016.

Announcements made in class:
  1. Teams: Dazzle us! Volunteer to demonstrate you solution to Assignment 5 to the CS314 class. Show off your enhanced Adventure Game on Monday May 2 or Friday May 6. To schedule a demo send mail to cs314@cs.colostate.edu
  2. Be a ScrumMaster for CS314 during the fall semester.
    • For more information contact Dr. Bieman or Dr. Georg.
    • These will be paid positions!!
  3. Design Studio 7 Software Safety will be held next Wednesday, May 4. See info on Canvas.
We continued the discussion of Software Safety following Notes 6. We reached slide 6-24.

We conducted the student course evaluation survey near the end of the period.

14.2 Wednesday 27 April 2016.

Exam 2.

14.1 Monday 25 April 2016.

We reviewed the material covered on Exam 2, which is scheduled for the next session: Wednesday, April 27. Here are my Exam 2 Review Notes. I also answered many questions about the material and the mock exam. I was asked to provide additional information about the Abstract Factory design pattern. Here is a link to a tutorial on the topic.

13.3 Friday 22 April 2016.

We finished the notes on software requirements (Notes 5). I began the discussion of Software Safety following Notes 6. We reached slide 6-6.
Announcement: We are looking for CS314 Teams to volunteer to demonstrate their solutions to Assignment 5 in class during the last week of the semester. Let me know if you want to show off your team's solution.

I passed out a mock Exam 2. Use it to help you to prepare for Exam 2. Exam 2 is scheduled for next Wednesday, April 27.

13.2 Wednesday 20 April 2016.

I began the session by answering questions about Assignment 5 focusing primarily on potential ways to save and restore the game state. We talked about serializing objects. Saksham notes that a key challenge in Android is creating storage for the stored serialized objects. Here is a link (from Saksham) with information about how to do this. For lecture, I talked about non-functional specifications and the use of natural language in specifications following Notes-5, slides 5-106 through 5-119.

Teams held Scrum meetings during the last fifteen minutes of the period.

Update:
This afternoon, one of our CS314 students, Eli Tatro wanted to share information on his approach to saving and restoring the game state, and I think that it may really help you:

Dr. Georg.

I wrote this up in about 10 minutes, and my writing skills leave much to be desired. :(

We only need to finish up our overview.txt tonight.

If you decide to send this out to students who have questions, or post it on the Canvas page, you may have them call/txt me, and I have no problem walking them through how/why this works.

I view the class as the company and our teams as teams. I know that Android Studio is new to all of us, and because I only have the necessary logic included, personally would not feel it breaks academic integrity, also if a team did not follow your instructions for A4 this solution would leave them dead in the water anyway.

If you do not view this document as breaking academic integrity, you may pass on my number to my peers, and I can explain the logic better to them, that may help lighten your and Sakshams load.

Eli Tatro: 970-222-3433

13.1 Monday 18 April 2016.

At the beginning of the session, Russ Wakefield gave a brief overview of CS430 Database Systems, which will be offered online this summer. After that, I answered several questions about Assignment 5.

The focus of the remainder of the session was on requirements evaluation and non-functional requirements. We reviewed Notes 5, slides 5-75 through 5-89.

12.3 Friday 15 April 2016.

First, I answered questions about options for using Abstract Factory in Assignment 5. I also answered some questions about saving and retrieving the state of the game for Assignment 5. We discussed how Use Case scenarios are used to generate UML System Sequence Diagrams to identify System Events and System Operations. See Notes 5, slides 5-44 through 5-51.

Teams held Scrum meetings during the last ten minutes of the period.

12.2 Wednesday 13 April 2016.

We held Design Studio 6 Domain Modeling.

12.1 Monday 11 April 2016.

The discussion focused on domain modeling from various perspectives from Notes 5. We reviewed how CRC Cards are used in domain modeling (slides 5-90 through 5-105), how to evaluate domain models (slides 5-83 and 5-84). We also talked about Use Cases and their connection to domain modeling (slides 5-37 through 5-48).

We will hold Design Studio 6: Domain Modeling in class on Wednesday, April 13.

11.3 Friday 8 April 2016.

I announced that Design Studio 6: Domain Modeling will be held in class next Wednesday (April 13, 2016). There is some pre-class work and a Canvas quiz (Quiz 5) due on April 12.

Today's discussion focused on Domain Modeling following slides 5-52 through 5-74 in Notes 5.

Teams met during the last ten minutes of the period.

11.2 Wednesday 6 April 2016.

Dr. Geri Georg led a discussion about user interface design and evaluation. Here is a link to her notes .

11.1 Monday 4 April 2016.

We held Design Studio 5, the planning meeting for Assignment 5.

10.3 Friday 1 April 2016.

We continued the discussion of Software Requirements Analysis following Notes 5. We reached slide 5-37.

Reminder: Design Studio 5, an agile planning meeting for Assignment 5 is scheduled for the next class session -- Monday, April 4.

10.2 Wednesday 30 March 2016.

We finished the discussion of Software Architecture and Design by reviewing a set of technical job interview questions about design patterns. We then began the discussion of Software Requirements Analysis following Notes 5. We reached slide 5-15.
Teams met during the last five minutes of the period.

10.1 Monday 28 March 2016.

I answered some questions about Assignment 4. Then we finished the discussion of Notes 4 on software design and architecture. Teams met during the last ten minutes of the period.

9.3 Friday 25 March 2016.

We continued the discussion of software design and architecture following Notes 4. We reached slide 4-60. Teams met during the last ten minutes of the period.

9.2 Wednesday 23 March 2016.

CSU closed due to snow. Class cancelled.

9.1 Monday 21 March 2016.

Saksham Manchanda gave a demonstration of Android programming using Android Studio. He also demonstrated how Android Studio interfaces with Git. I showed how you can connect an Android Activity to the Adventure Game Facade object.

8.3 Friday 11 March 2016.

We held Design Studio 4, an Agile Planning Meeting for Assignment 4.

Have a great Spring Break!!!

8.2 Wednesday 9 March 2016.

I reminded the class that Quiz 4, an early course evaluation, is posted on Canvas (Due Friday 3/11/16). Also Design Studio 4 is planned for next time, Friday, March 11. It will be a planning meeting for Assignment 4, which is now posted.

We continued the discussion of software design and architecture following Notes 4. We reached slide 4-38.

8.1 Monday 7 March 2016.

We began the discussion of Software Design and Architecture following Notes 4 through slide 4-28. I also announced that Quiz 4, an early course evaluation, is posted on Canvas (Due Friday 3/11/16).

7.3 Friday 4 March 2016.

I returned Exam 1 and then reviewed solutions to the exam questions. We also talked about class activities planned for next week.

7.2 Wednesday 2 March 2016.

Exam 1.

7.1 Monday 29 February 2016.

We returned the Design Studio 3 Post-class retrospective writing. Then we did some review for Exam 1, and we had some discussion concerning the mock exam that was passed out in class last Friday and today. Exam 1 is scheduled for the next class session on Wednesday, March 2.

6.3 Friday 26 February 2016.

First Dr. Geri Georg reviewed Design Studio 3 explaining how to identy testing input domains, partitions, and boundary conditions. Then I finished the Structural Testing notes and talked about the limitations of any testing strategy (white box or black box).

REMINDER: Exam 1 is scheduled to be held in class next Wednesday, March 2.
I passed out a Mock Exam 1. Use it as a study guide and practice exam. Also note the following rules about Exam 1:

Exam 1 is closed book and closed notes. However you may bring one 8.5 x 11 inch sheet of paper with your own notes. You may use both sides of this paper. Your name must be on top of the sheet of paper and you must turn it in with your exam.

6.2 Wednesday 24 February 2016.

We held Design Studio 3 on Black Box Testing, which involved identifying input domains, equivalence classes, and boundary conditions for activities involving the Adventure Game.

6.1 Monday 22 February 2016.

We continued the discussion of the software testing following Notes 3 and reached Slide 3-77. We also began to review the Structural (White Box) Testing notes from Profs. Ghosh and France and reached slide ST-10.

Design Studio 3 is scheduled for Wednesday (February 24). Do the posted preparation and take the Q3 Pre-DS3 BBTesting quiz on Canvas.

5.3 Friday 19 February 2016.

I announced that Design Studio 3 is scheduled for next Wednesday (February 24). There is some required preparation and a quiz (posted on Canvas). Also Assignment 3 is posted.

We continued the discussion of software testing and reached slide 3-69.

5.2 Wednesday 17 February 2016.

We continued the discussion of testing following Notes 3, and reached slide 3-41. I spent the last portion of the class session answering questions about Assignment 2.

5.1 Monday 15 February 2016.

I posted an updated Notes 3 on Verification and Validation at 8:30 AM.

We began the discussion of V&V following Notes 3, and reached slide 3-22.

4.3 Friday 12 February 2016.

We completed the discussion of Notes 2 on the use of UML class diagrams, as well as the design and implementation of object-oriented systems, using the Adventure game as an example. I also showed the original adventure game from "prehistoric times".

Announcement: Corrections to the Assignment 2 rubric - Summary of changes:

4.2 Wednesday 10 February 2016.

Announcement in class concerning testing requirements for Assignment 2: You should have 1 JUnit test per method, but you do not need JUnit tests for the Swing methods. All team members should write at least one JUnit test.

We then had some discussion about how to use JUnit. Here are the notes on JUnit.

We continued the discussion following Notes 2 on object-oriented concerns. We reached slide 2-60.

Also, we have posted a more detailed explanation of the grading for Assignment 1.

4.1 Monday 8 February 2016.

We held Design Studio 2 which involved sizing the user stories for Assignment 2, and decomposing User Story B into tasks with estimated task times. There is one assignment deadlines over the next 48 hours:

3.3 Friday 5 February 2016.

I announced the following:

I continued the discussion following Notes 2 on object-oriented concerns. We reached slide 2-53: Dynamic Binding (Yo-Yo) Example.

3.2 Wednesday 3 February 2016.

I announced that we have extended the deadline for Assignment 1 (A1) by 24 hours due to the weather closure of CSU. The new deadline is February 4 at 11:55 PM.

We began the discussion of Notes 2 on object-oriented design and implementation concepts. We introduced the Unified Modeling Language (UML). We reached slide 2-29.

3.1 Monday 1 February 2016.

Stephanie DiBenedetto gave a demo on how to use Git and GitHub. She answered numerous questions. Following the demonstration, I completed the discussion of Notes 1.

2.3 Friday 29 January 2016.

I announced that Assignment A1 was released yesterday. It is a team assignment involving the use of GitHub. Also, here are some office hours: The focus of this session was on agile software development processes, particularly Scrum. We reviewed Notes 1 reaching slide 1-37, and we watched the excellent Ultimate Scrum Master video (see link on slide 1-35).

On Monday Feb. 1 Stephanie DiBenedetto will give a demo on how to use Git and GitHub.

2.2 Wednesday 27 January 2016.

We held Design Studio 1 which involved inspecting the Adventure game code. Teams reviewed the code with team members playing the roles of Moderator/End User, Maintainer, and Tester. There are two assignment deadlines over the next 48 hours:
  1. Due today on Canvas, Wednesday January 27: Assignment 0, Part B: GitHub User Name, Teammates and Team Name. We need this information to set up GitHub repositories for teams.
  2. Due tomorrow on Canvas, Thursday January 28: Design Studio 1 Post-class retrospective writing (Task 2: Personal Learning Assessment).

2.1 Monday 25 January 2016.

The discussion followed Notes 1 on software products and processes. We reached slide 1-20.

1.2 Friday 22 January 2016.

We held an industry panel, where the speakers aimed to answer the question "What are the skills needed to be successfull at my company?"

Panelists:

1.1 Wednesday 20 January 2016.

Welcome to CS 314, and my review of the day's lecture. I will try to post a brief summary of the class session, as soon as possible after class. The detail and accuracy of the posting depends on my memory, and interruptions.

This lecture introduced the course. I reviewed Notes 0, the syllabus, the course RamCT page, and Assignment 0. Don't forget to take Quiz 0 Parts A, B, and C on Canvas.

Use the "team organization" discussion thread in Canvas to help you to find a teammates for CS314 assignments.


Copyright (c) 2016 James M. Bieman All Rights reserved. For use only by students registered in CS 314 Colorado State University.