What's New

Use this page to keep track of the latest class announcements.

Lectures 27, 28, and 29

The slides for Lecture 27, Lecture 28, and Lecture 29 are now available. Sorry for the delay!

Final Report == Iteration 3 Report

In lecture on Tuesday, I mentioned that you would need to submit an Iteration 3 report AND a final report for your semester project. I have now changed my mind and your final report IS your Iteration 3 report. It will be critical however for you to get your diagrams correct for this report. I will present a brief review of the two major types of diagrams today, so you can be sure to correct any problems with those diagrams by the time you submit your Iteration 3 report next Friday.

SE Presentations have been Graded

I have finished grading the SE presentations. Overall the class did an excellent job! You may view the presentations on Google Drive.

Sample Code for Lecture 25

The code for the “bad example” from Lecture 25 is now available.

Lectures 25 and 26

The slides for Lecture 25 and the slides for Lecture 26 are now available.

Lecture 23 Example Code

If you have a recent copy of XCode, you can download the examples I covered in Lecture 23.

Lectures 23 and 24

The slides for Lecture 23 and the slides for Lecture 24 are now available. I’ll make the source code for Lecture 23 (the parts I can release) available soon. The source code for Lecture 24 is available from the Pragmatic Programmers website for the book Programming Concurrency on the JVM.

Lecture 22

The slides for Lecture 22 (tomorrow’s lecture) are now available.

Iteration 1 Report

The iteration report for Iteration 1 is due on Friday. I have updated the semester project description with detailed information about what should go into the report.

Buffalo buffalo Buffalo buffalo

A student in class pointed me to the more complete form of the “buffalo example” I covered in lecture. Wikipedia for the win!

<http://en.wikipedia.org/wiki/Buffalo_buffalo_Buffalo_buffalo_buffalo_buffalo_Buffalo_buffalo>

Lectures 20 and 21

The slides for Lecture 20 (last Thursday) and Lecture 21 (tomorrow) are now available.

Heads-Up for CAETE Students: Online FCQs

Just a quick note for CAETE students. You’ll have a chance to provide feedback on this course from Sat, Nov 29 to Tue, Dec 9. You’ll be sent an e-mail message with a link that will take you to a form that lets you evaluate my course and provide feedback. These forms are taken very seriously by our department and are reviewed and used during annual evaluations and when I’m up for promotion (such as moving from Associate Professor to Full Professor).

So, please don’t ignore or delete that e-mail message until you’ve clicked the link and provided me feedback! Thanks.

Note: In-Class students: you’ll have an opportunity to fill out FCQ forms in class. I’ll make an announcement of when that is happening later this semester.

Lecture 19

The slides for Lecture 19 (today’s lecture on Software Design) is now available.

London Data Store

For those of you looking for large data sets to process, check out the London Data Store. It is a website that offers access to an incredible set of open data about the city of London.

Midterm Review for CAETE Students

If you’re a CAETE student, you may have noticed that a video for Lecture 17 was not posted to D2L. That’s because I asked the CAETE studio NOT to record my discussion of the midterm. Instead, I would like to hold a Google Hangout session for all CAETE/in-class students interested in having me review the midterm one more time.

To do this, I would like those people who are interested in attending such a session to send me a message with the gmail address I should use to include you in the Hangout. Once I’ve got those, I’ll send out a Doodle poll with times I have to hold such a session and we’ll schedule the session based on the results of that poll.

If you have questions, let me know. Thanks!

Lecture 18

The slides for Lecture 18 (today’s lecture) are now available.

Lecture 16

The slides from last week’s lecture on the actor model of concurrency (Lecture 16) is now available. Apologies for not getting this posted.

Midterm Results

I have now graded all of the midterms from both in-class and CAETE students. As a result, I’ll be handing back midterms in class (and mailing back exams to CAETE students) and discussing the midterm during tomorrow’s lecture. Below find the results for the combined class, just in-class students, and just CAETE students. I’ll be posting individual grades in D2L later today.

Note: if any CAETE students plan to attend lecture tomorrow to pick-up their exam and attend the review, please let me know (otherwise I’ll be dropping off your exam at the CAETE office tomorrow, so they can mail it back to you).

Total possible points on the midterm: 100

Results for the Combined Class
Average 85.28
Median 86.5
Mode 96
Max 99
Min 52
Results for In-Class Students Only
Average 85.81
Median 87
Mode 90
Max 99
Min 60
Results for CAETE Students Only
Average 83.11
Median 86
Mode 94
Max 97
Min 52


Reminder: D2L Discussion Forums

Reminder: If you are looking for team members or looking for project ideas, head over to the D2L “Team Formation” topic and post your requests, suggestions, etc. there. Use this forum to help form teams as quickly as possible. Use it to brainstrom project ideas!

I also created two additional forums for students to share their experiences with Agile and Concurrent programming. (I had some students make a request for this.)

Midterm Grading Almost Done

I am almost done grading the midterm. I have one exam left to grade. That exam, for a CAETE student, was supposed to be faxed to me but the fax never arrived. Hopefully, I’ll receive it tomorrow and, if so, I’ll host the midterm review on Tuesday. Stay tuned.

Minimum Viable Product

A student sent me this image they found on-line to present the Agile approach to generating a minimum viable product (an initial release of a software system with “just enough” functionality). Agile grows the product by producing something useful in each iteration. Thanks for sharing!


Updated Reading List

I’m not going to be able to review the midterm until next week. I’ve decided to cover Chapter 5 from our Concurrency textbook for the next two lectures. So, tomorrow, we will start our exploration of the agent model using a new programming language called Elixir.

Final Reminder: MIDTERM TODAY

One last reminder for in-class sudents: The midterm is TODAY. Don’t skip class!

Semester Project

Details on the semester project are now available. The project officially starts next week but please spend the rest of this week (after the midterm) forming your teams and generating a project idea. Send me project ideas for review/approval as soon as possible (again, after the midterm).

Quiz 3

Quiz 3 has finally been created. It will go live on the D2L site at 9 PM tonight and it will stay active until 11:30 PM on Monday night. It has questions drawn from Lectures 5 through 14 and is designed to help study for the midterm. You can take this quiz twice if you want. Your highest score from the two attempts will determine your grade for this quiz. Note: I have allocated 180 minutes to take the quiz but it shouldn’t take you three hours to complete these questions. That time limit is there just in case you need to fire up a Clojure repl or look through slides in order to answer the questions.

Lecture 14

The slides for Lecture 14 are now available.

Sample Code for Lecture 13

The sample code for Lecture 13 is now available.

Lecture 13

The slides for Lecture 13 are now available.

Sample Code from Lectures 11 and 12

The sample code I used during Lectures 11 and 12 is now available.

Lecture 12

Slides for Lecture 12 (yesterday’s lecture) are now available. Sorry for the delay in getting these posted! Sample code from this lecture is coming up next!

Quiz 2

Quiz 2 is now availalbe from the D2L website. It goes active at 11 AM today and will stay active until 11:30 PM this Sunday. The content of Quiz 2 covers material mainly from Lectures 3 and 4.

Lecture 11

Lecture 11 is now available.

Terrific (and relevant) xkcd comic today

Check out today’s xkcd for a comic that highlights one of the issues I’ve discussed in class! Thanks to Ben for sending this to me.

Software Engineering Presentation

Details about the software engineering presentation have been posted. Topics are due to me by Thursday on Week 6 (next week). Presentations are due by Thursday of Week 10.

Lecture 10

Lecture 10 is now available.

Lecture 9

Lecture 9 is now available.

Updated Reading List

I made a few changes to the reading list with respect to my plans for this week’s lectures. I’ll be covering chapters 4 and 5 of the user stories textbook on Tuesday and chapters 6 and 7 on Thursday. Please plan accordingly!

Reading List

I have now added a reading list to the website that is based on the information originally listed on Slide 10 of Lecture 1. I’ll update the reading list to reflect our progress throughout the semester. The info that is currently shown in the later weeks of the semester simply reflects my intentions. As you saw with week 3, sometimes my lectures will not match my intentions!

Lecture 8

Lecture 8 is now available.

Sample Code from Lecture 4

The sample code that I discussed in Lecture 4 is now available. Note: I’m not allowed to distribute source code associated with our concurrency textbooks. You can get that code yourself from the Pragmatic website.

Lecture 7

Lecture 7 is now available.

Homework 3

Homework 3 is now available. It makes reference to some slides in Lecture 7. I’ll have Lecture 7 posted (relatively) soon!

Lecture 6 Updated

I have posted a new version of the PDF file for Lecture 6. It fixes some of the typos I corrected during lecture and updates the title page to have the correct date and lecture number.

Lecture 6

Lecture 6 is now available.

D2L Dropbox for Homework 2

I have now created a “dropbox” on the D2L website for Homework 2. You can now upload your submissions for that assignment.

Lecture 5

Lecture 5 is now available.

Updated D2L Website

I made an update to the D2L website that should make the “dropbox” for Homework 1 more visible. If you look in the Upcoming Events section of the Calendar, you will see a due date for homework 1. Clicking on the link in that announcement, will take you to the page for Homework 1 which then has a dropbox that you can use to upload your file. You can also get to this page by clicking “Dropbox” in the Assessments menu and then clicking the item for Homework 1.

I also modified Quiz 1 (which goes active tomorrow) to remove a few questions on material that I was not able to cover during Lecture 2. I will cover the remainder of Lecture 2’s material next week during Lecture 3.

Source Code for the Scattered Application

At the end of Lecture 1, I used an application called Scattered to demonstrate that software engineering is not just about programming and that a software engineer will make use of multiple tools (an IDE and a profiler) when tracking down a problem and may have to re-design a program (in this case converting a single-threaded application to a multi-threaded application) in order to solve that problem.

The Scattered application comes from the excellent book Cocoa Programming for Mac OS X, 4th Edition by the Big Nerd Ranch.

You can examine the source code for this application on Github. The file of interest (the one I featured briefly during the lecture) is called ScatteredAppDelegate.m:

Note: I will NOT be asking questions about this code in homework assignments and/or quizzes. But, if you would like to study these examples in more detail, by all means, please do!


Quiz 1

I have created a quiz in D2L that will “go live” on Friday morning at 8 AM. Please take the quiz before it closes next week (the exact time that it closes is posted on the 5828 D2L website calendar). When you take the quiz, make sure that you are in a quiet environment and have access to your class notes, lecture slides, the No Silver Bullet essay, and you’ve viewed both Lecture 1 and 2 (either by attending class or watching the lectures on-line). Furthermore, make sure that you have about 30 minutes of uninterrupted time. The quiz is not hard, but you don’t want to rush, and you are only allowed to submit your answers once.

Class Websites

A student contacted me today to let me know that the CAETE website had an incorrect link to the video for Lecture 1. I’m sure this problem will be fixed but in the future, students should make use of this website and the 5828 D2L website for this class that is available via MyCUInfo. I will use this website to make announcements and to distribute problem statements. I will use D2L to distribute some course materials, to post grades, to conduct quizzes, and to have students upload assignments for review.

The video for Lecture 1 is available by going to the D2L website for 5828 and then clicking on the “Lecture Access” link that appears near the top left of that page.

Homework 2 Google Doc URL

Homework 2 references a Google Doc that we’ll use for signing up to interview a professional software engineer. To protect the privacy of our ~50 volunteers, I am not going to share that URL on this public website and I’m asking you to not share the URL with people outside of our class. Please respect our volunteers, so they will be willing to help our class both this semester and in the future!

With that as context, I just posted the URL on D2L. So, login to MyCUInfo, head to the D2L website for this class, and look at the News section to find the link to the Google Doc that you will need to work on Homework 2.

Homework 2

Homework 2 is now available.

Lecture 4

Lecture 4 is now available.

Lecture 3

Lecture 3 is now available.

Homework 1

Homework 1 is now available. It’s due before the start of Lecture 3 on September 2nd.

Lecture 2

Lecture 2 is now available.

Lecture 1

Lecture 1 is now available.

Relationship between this website and D2L

I will be using D2L as a way to deliver documents to you (if needed) and as a way for you to upload homework assignments to me. This class website will remain the primary way to get information about this course. So, you will use this website to keep up-to-date with the class and D2L to upload homework assignments and view your grades in the class.

Course Lectures

The course lectures will be available to all students (both in-class students and CAETE students) via the Desire 2 Learn website for this course. Just log-in to MyCUInfo, then select Desire2Learn, and then select the D2L site for this class. At that point, you should be presented with a link that will take you to the video recordings of the lecture.

The First Reading

The first reading of the semester will be No Silver Bullet by Fred Brooks. We will discuss this essay in detail at the second lecture of class and it will form the basis of Homework 1. You can access this essay on the course’s Desire 2 Learn website which you can access via MyCUInfo.

Syllabus Statements

Each semester, the University asks that students be reminded of information and policies concerning Disability Accommodations, Religious Observances, Classroom Behavior, Discrimination and Harassment, and the Honor Code. That information is located on the Syllabus Statements page. Please scan this information at the start of the semester and let me know if you have any questions.

Textbooks

A page with pointers to the textbooks for this semester is now available. We'll be using three books to learn about agile techniques, designing and implementing concurrent software systems, and software design. I'll also be supplementing the information in these books with slides from previous instances of this class as well as material from other software engineering textbooks.

Welcome!

I'm working on the class website for CSCI 5828 for the Fall 2014 semester. Pardon my dust and stay tuned!

© University of Colorado, Boulder 2014