Return to this page for the latest information on CSCI 5828.
Lecture 29
Lecture 29 is now available. Its a relatively short lecture since I anticipate using a chunk of Tuesday's lecture time to allow teams to present their "design problem" slides.
Foundations of Software Engineering
Return to this page for the latest information on CSCI 5828.
Lecture 29 is now available. Its a relatively short lecture since I anticipate using a chunk of Tuesday's lecture time to allow teams to present their "design problem" slides.
I have posted details on the implementation portion of the class project. Let me know if you have questions.
I need a student to volunteer to administer the FCQs for this class. I'd like to do the FCQs near the end of next Tuesday's lecture (April 24th). The volunteer would need to pick up the FCQ forms next Tuesday morning and then drop off the completed forms at the Dean's Office after the class. If anyone is interested, let me know!
I made a small update to the design assignment. In particular, I added text that indicates that if you decide to update any of the artifacts that you created during the requirements portion of the class project to please include the updated artifact with your design assignment and include a short description of what changed and why.
So, for example, lets say you discover that your FSP specification was incomplete as you work through the design of your software system. Update the FSP specification to capture your new understanding of the concurrent behavior of your system and document the change and why it now better represents the system under design.
Don't forget to document a design problem that you encountered while working on the design of the system you're building for your class project.
Feel free to send me slides at any point during this assignment and let me know if you'd like time to discuss the problem you encountered in class.
Note: you do not necessarily have to have a solution for the problem you describe. You can approach this portion of the assignment as a means to get feedback from your fellow classmates on the approach you should take to solve the problem your encountering.
Having said that, describing a problem and its solution is also good!
Not this week, but next week, we will be spending time examining the development philosophy of 37signals, a leading "Web 2.0" company. We will do that by reading their book called Getting Real. This book is freely available on the web and is (fortunately) a quick read. I've invested 2 hours into the book so far and I managed to read 105 of 177 pages.
So, make the Getting Real website your home page for the next few days and start reading!
I managed to grade all 12 of the requirements documents that were submitted to me this past Thursday. I haven't updated the grades page yet but I did record your grades on the moodle.
I'm quite pleased, there were very few problems and a lot of high quality work. Kudos!
I finally got around to updating the projects page with the remaining project ideas. With 40 students taking this class (10 CAETE, 30 in class), we have a total of 18 projects. Thanks very much to all of the students who formed multi-person teams!
Note: now that I have homework 3 graded, I'm turning my attention to grading the submitted requirements documents. My goal is to grade and provide feedback for each project that submitted a document on Thursday by no later than this coming Tuesday, hopefully sooner.
I have finished grading homework 3 and have posted the results to the grades table (and on the moodle).
Here is a pointer to a short article on the fact that Adobe attempted to shift away from a traditional software life cycle to a more agile approach to software development while working on Adobe CS3.
Due to two unfortunate circumstances (my wife is sick and our babysitter is on vacation) I can not hold office hours today either before or after class. I'll be coming on to campus today solely to give today's lecture and then must return back home immediately. My apologies!
Both Lecture 21 and 22 are now available. (Lecture 21 was available yesterday but I forgot to announce it!)
40 students took the midterm. The highest score was 99. The lowest score was 61. The average score was 85.4 and the median was 86.5. The mode was 86 and the standard deviation was 10.3.
10 CAETE students took the midterm. The maximum score was a 98, while the minimum score was a 62. The average score was a 85.9 and the median was an 89. The standard deviation was 12 points. Each CAETE student had a different score, so the mode (the most common score) is undefined.
As I mentioned in class on Thursday, I now have the midterms for all of the CAETE students. I will be grading these exams this weekend and will post stats here when I have them. If the CAETE office is open during spring break, I will send them back to you then. Otherwise, I will send them at the start of the first week after spring break.
In the meantime, have a good spring break and thanks for your patience!
Here's a cheesy ASCII version of the histogram for the midterm for in-class students.
I have added information on a new project idea called Company Cars Monitor System. Currently this project has only one person working on it, and that person is looking for collaborators. If you still are not on a project team and you are interested in that project, let me know, and I'll arrange an e-mail introduction and hopefully you can get started on the project right away.
Today, we have a world-class software engineering researcher, Bill Griswold, visiting our department. Bill is a full professor at the University of California at San Diego and he is giving a colloquium today entitled "RealityFlythrough - A System for Ubiquitous Video".
The talk is from 3:30 PM to 4:30 PM in ECCR 1B55. If you are available, please attend the talk!
The class website has been updated to list the project ideas and project teams that I know about. If you are on a project/team that is not listed, please send me a description and I'll add you to the list. If you want to update the text that is currently displayed for your project, send me the update and I'll get it published.
Just a quick post to say that I'm waiting for the arrival of one more midterm from a CAETE student who took the test last Thursday. When it arrives, I will grade all of the CAETE exams and discuss the midterm in class.
As things stand, I now expect to discuss the midterm this Thursday.
Thanks for your patience!
The requirements assignment of the class project is now available in the Assignments section of the website.
Information on the class project has been posted on the assignments page. Details on the first assignment related to the class project will be available by Thursday of this week.
In a recent lecture, I pointed the class at the recent software glitch encountered by the flight software for the newly deployed F-22 fighter jet.
A CAETE student sent me the following additional information on that incident:
Quick reminder to CAETE Students: Your test proctor should have received the midterm early this week. You need to take the test such that your test proctor can mail it to me with a postmark of Tuesday, March 13th.
Please send me an e-mail when you have confirmed a time to take the exam with your test proctor.
Thanks!
I have finished grading the midterm for the in-class students. 30 students took the exam. The maximum score achieved was 99 points out of 100. The minimum score was 61. The average score was 84.7 with the median score being 86.5. The most common score, the mode, was an 87. Finally, the standard deviation was 10.1.
This website now features a page that displays the grades that students have been receiving in this class. It uses the nicknames that students supplied me at the beginning of the semester to associate grades with a particular student.
Please check this table and verify that the grades that it displays for homework 1 and 2 match the grades you received for these assignments in the moodle.
I plan to cover Jalote's material on software architecture next week and it just so happens that a key contributor to research on software architecture will be giving a talk at CU next week. In particular, Eric Dashofy from UC Irvine will be giving a talk on Tuesday, March 13th, at 3:30 PM in ECCR 1B55 entitled "Supporting Stakeholder-Driven, Multi-View Software Architecture Modeling".
Eric's work on software architecture consists of three things: designing a language, called xADL, that allows engineers to model the software architecture of a software system, creating a set of tools, called ArchStudio, that allows engineers to create, visualize, and analyze xADL specification, and evaluating the use of these tools in real-world contexts.
If you have an interest in learning more about software architecture and are available at 3:30 PM next Tuesday, please come to Eric's talk!
Here's some advice for the upcoming midterm: be succinct when writing your response to a short answer question. For instance, if I ask something like:
What are the primary sub-processes of the product engineering process?
Don't give me a long drawn-out answer, just say:
Development, Project Management, Software Configuration Management, Requirements Change Management, and the Inspection process
That's the response that directly answers the question and will get you the most amount of points for the least amount of effort.
If you provide too verbose a response (and students often do this when they don't know the answer but are trying to earn partial credit), you end up short changing yourself on other problems that may require more time to solve.
So, when taking the midterm, be sure to first work on all the problems you know you can solve, providing short to-the-point answers to short answer questions. Then, turn your attention to questions that you are unsure of and attempt to answer them. This requires that you read the entire test before you start working on it, and do the problems out-of-order. But, you'll find that you will use your time more wisely and ensure that you answer all of the questions that you are capable of answering.
Hope this helps!
I will be in my office from 10:30 AM to 11:45 AM tomorrow for extra office hours before the midterm. Feel free to stop by!
There is a great company that develops technical books for software developers called "The Pragmatic Programmers". One of their best features is that they allow you to buy books under development as PDF files and then to have the option of receiving a hardcopy when the book is finished. The PDF version of the book is then updated multiple times allowing the reader a chance to "see where the book is going" and to offer feedback and corrections along the way.
Its a great business model and I've purchased several of their books this way. (Disclaimer: I'm not affiliated with this company in any way, I'm just a happy customer.)
This morning I received an e-mail that one of my books had an updated PDF file ready for download. I clicked on the link and saw the following text:
Your request to reship the PDF for TextMate has been entered into our fulfillment system. Teams of PDF-aware gerbils are this very moment limbering up to deliver your content. Once they've finished, and we've cleaned the sunflower seed husks off your document, our system will be sending you an e-mail containing the download link. Given the current backlog, we estimate that the time to create PDFs is 20 minutes. Please contact PragProg Support if your PDF isn't available by then.
Request Received
Anyway, I just wanted to comment that I love doing business with companies that are willing to demonstrate that the people working there have a sense of humor!
As you know, I'm not on campus this week due to family-related reasons. I did, however, want to provide an update on grading and what we will be doing in class over the next couple of weeks.
I am still working my way through the grading of Homework 1. I hope to have it and homework 2 graded by Tuesday of next week.
I then plan on spending lecture 13 reviewing these two homeworks and giving you a chance to ask questions about chapter 4 of the concurrency textbook that I discussed when pre-taping lecture 12 in an empty lecture hall!
Lecture 14 will be devoted to reviewing for the midterm which will occur on the Tuesday of the 8th week of class. I'll be posting information about how CAETE students will take the midterm (as well as when you need to take it by) next week.
As such, the midterm will cover all topics discussed during the first twelve lectures. We'll begin covering new material on the thursday of the 8th week of class. (I'll discuss the midterm itself in lecture once I have received all of the midterms from CAETE students.)
If you have any questions about the topics above, let me know!
Tomorrow at 3:30 PM in ECCR 265, Fernando Pereira will be giving a department colloquium on the subject of Learning to Analyze Sequences.
One of my favorite blogs written by a software developer, a blog known as ridiculous fish: serious code, has posted an excellent entry on issues related to multithreaded development. It has some excellent high level discussion backed by extremely low-level code. I learn something every time this guy posts to his blog. Take a look and enjoy! (Note: this post is NOT required reading for the class.)
Best post on ridiculous fish: The Treacherous Optimization
BTW, I love the combination of "excellent developer/excellent writer". Here are some additional pointers to good developer-written blogs:
Daring Fireball
Scripting News
Glorified Typist
Macromates
Surfin Safari
Inessential
Tim Bray
Loud Thinking
Michael Tsai
Joel on Software
Call Me Fishmeal
Lecture 12 is now available. A placeholder for lecture 11 is also available. Full content for lecture 11 will be available by the time I pre-tape that lecture tomorrow!
Tomorrow's office hours from 11 AM to 12 PM are cancelled.
Contact me by e-mail if you have questions for me!
Sorry for the late notice.
Due to family-related issues, I'm not going to be able to come to campus next week to present lectures 11 and 12 in person. As such, I'm going to pre-tape those lectures THIS week.
In particular, I'm going to tape lecture 11 from 4 PM to 5:15 PM tomorrow and I'll tape lecture 12 from 2 PM to 3:15 PM on Friday.
If you can make it to one of the pre-taping sessions, terrific! Please come and ask questions! Note: I don't know which rooms I'll be using for these pre-taping sessions, but since CAETE only has three studios, it won't be difficult to find me!
If you can't, DON'T PANIC! Both lectures will be played by CAETE during our regular class time next week. Just come to lecture as you would normally and view the presentation.
If you have any questions, please let me know!
Hi,
One of our CAETE students who works for Northrup Grumman (NG) sent in the following comment related to Software Process Improvement and the Capability Maturity Model:
A new search engine company, called Krugle, is interested in learning how students find answers to coding questions both inside and outside the classroom. They have created a survey that students can take to provide this information:
Krugle's "How do you find Code?" Survey
The survey consists of 10 short questions and, if you spend the time to take the survey, you can also help out our department's ACM Student Chapter. At the end of the survey, simply write "CU ACM" in the Department/Club field and "University of Colorado" in the University field. If 25 to 40 students take the survey and enter this information, Krugle will make a donation to the chapter.
Thanks!
The EECS department of the University of California, Berkeley released a technical report on their view of the future of parallel computing research now that multi-core chips are being widely deployed. The technical report is called:
Homework 2 has been updated to push back the due date by two days. Rather than being due on Tuesday, it is now due on Thursday. See the assignment and/or the moodle for specific dates and times for CAETE and in-class students.
One student in the class was not able to run the current version of LTSA due to not having access to a computer with the Java 1.5 run-time. They contacted one of the authors of our Concurrency textbook and received a pointer to the older version of the LTSA tool. If you are having problems with the current version and want to give the previous version a try, you can find it here:
I discovered the source of the formatting problem in Lecture 5. I have uploaded a new PDF file for that lecture. If you would like to have a properly formatted version of that lecture, simply download the lecture again.
Several students have noticed a quirk with the LTSA tool involving its processing of sets of action labels in FSP specifications. The difference occurs when the set of labels lead to a subsequent action, before going to another process.
To see the difference try compiling the following two similar FSP processes.
Hi,
I'm curious how well the lectures are being captured by the Tegrity software. In particular, I'm interested to know if it correctly captures the transitions that I do when working with a Web browser. So, if I'm on slide 4 of a lecture written in HTML, and I switch to slide 5, does Tegrity capture that transition and display the new slide? Does it correctly display the text as I scroll up and down on one of the HTML slides?
Please let me know...
Thanks!
Jason LaBumbard, a CAETE student, is seeking collaborators to work on homework 1 with him. If you are interested in working with him, you can contact him at:
Lecture 5 is now available. It is provided in PDF format as I decided to re-use the slides that Kramer and Magee created for Chapter 2 of the concurrency textbook.
Hi,
If your last name is listed below, I need you to call (303) 492-6003 and leave me a voice mail message with a nickname that I can associate with your real name. I'll use your nickname when publishing grades to the class website. When leaving your message, please spell your last name as well as your nickname.
Names: Elumeze, Homaei, Korytina, Magill, Marbach, Mytkowics, Nuttycombe, Terada, Terkay, Bodenhorn, R. Miller
Thanks!
I added a page to the class website that describes our two textbooks and links to their respective websites.
Would the person who claimed the nickname 'javaguru' please send me an e-mail message? I am unable to find you on my course roster, so I want to confirm that you have indeed enrolled in the class. Thanks!
Welcome to CSCI 5828 for the Spring 2007 semester! This site will serve as a distribution point for information about the class and will include pointers to lectures, assignments, class announcements, and more.
Furthermore, the content of this "What's New" page is syndicated. If you make use of a feed reader, you can subscribe to this site's RSS feed and be automatically notified when I post new information.
The URL of the RSS feed for this page is <http://www.cs.colorado.edu/~kena/classes/5828/s07/whatsnew/index.xml>.
If you have problems with or questions about this feature, let me know!