## What's New

To see your grades on this website (grades for Homework 1 will be posted later today), you first need to calculate the id I'm using to represent you. To do this, start with your student id, take out the hyphens and finally write down the last five digits of the resulting number. If the first digit of the resulting number is zero, drop it.

Example 1: Assume your student number is 555-65-4321. After following the instructions above, you would be left with the number 54321.

Example 2: Assume your student number is 555-60-1234. After following the instructions above, you would be left with the number 1234.

Now, take your last name, make it lower case, and cycle through its characters. Assume that 'a' is mapped to 1, 'b' to 2, ..., and 'z' is mapped to 26. For this class, there are two special characters. A space character maps to -64 and a hyphen maps to -51. Map each character in your last name to its value and add up all the values to calculate a sum. Add this sum to the number above to calculate your id.

Example 1: Assume your student number is 555-65-4321 and your last name is "Palen-Anderson". You would convert that to "palen-anderson" and start a running total: 16+1+12 + 5 + 14 - 51 + 1 + 14 + 4 + 5 + 18 + 19 + 15 + 14 = 87. Add 87 to 54321 to arrive at your final id: 54408.

Example 2: Assume your student number is 555-60-1234 and your last name is "Palen Anderson". You would convert that to "palen anderson" and start a running total: 16+1+12 + 5 + 14 - 64 + 1 + 14 + 4 + 5 + 18 + 19 + 15 + 14 = 74. Add 74 to 1234 to arrive at your final id: 1308

If you have a question about what last name I used for you, please let me know!

### Midterm Results

I have finished grading the exams of the 72 students who have taken the midterm so far. (Two more CAETE students will take the exam on Tuesday.) Note: I will post individual grades tomorrow.

The average score on the exam was 75. The minimum score was 28. The maximum score was 98. The median score was 81 while the most common score (the mode) was an 87. The standard deviation was 15.6. Finally, here is a histogram of the scores achieved on this exam:

I will be posting the grades for the midterm later today. Your point score has been converted to a letter grade using the following table:

So, if you received a B+ on an assignment, that will be converted to an 88; a B will be converted to an 85; and a B- will be converted to an 81.

If you have any questions, let me know.

To see your grades on this website, you first need to calculate the id I'm using to represent you. To do this, start with your student id, take out the hyphens and finally write down the last five digits of the resulting number. If the first digit of the resulting number is zero, drop it.

Example 1: Assume your student number is 555-65-4321. After following the instructions above, you would be left with the number 54321.

Example 2: Assume your student number is 555-60-1234. After following the instructions above, you would be left with the number 1234.

Now, take your last name, make it lower case, and cycle through its characters. Assume that 'a' is mapped to 1, 'b' to 2, ..., and 'z' is mapped to 26. For this class, there are two special characters. A space character maps to -64 and a hyphen maps to -51. Map each character in your last name to its value and add up all the values to calculate a sum. Add this sum to the number above to calculate your id.

Example 1: Assume your student number is 555-65-4321 and your last name is "Palen-Anderson". You would convert that to "palen-anderson" and start a running total: 16+1+12 + 5 + 14 - 51 + 1 + 14 + 4 + 5 + 18 + 19 + 15 + 14 = 87. Add 87 to 54321 to arrive at your final id: 54408.

Example 2: Assume your student number is 555-60-1234 and your last name is "Palen Anderson". You would convert that to "palen anderson" and start a running total: 16+1+12 + 5 + 14 - 64 + 1 + 14 + 4 + 5 + 18 + 19 + 15 + 14 = 74. Add 74 to 1234 to arrive at your final id: 1308

If you have a question about what last name I used for you, please let me know!

### Updated Lecture 30

I added an example to Lecture 30 related to a Clojure feature called destructuring. I have now updated the example source code and slides to contain information on that example.

Grades for Project 3 are now shown on the Grades page. This includes all in-class students and all CAETE students who worked on teams with in-class students. I'm still waiting on the projects of a few CAETE students. I will update the Grades page one last time when I've seen those demos and have calculated grades for all CAETE students.

I really enjoyed seeing the work performed by the teams so far... there were some really excellent projects done this semester!

### Call Numbers for SE of MultiProgram Systems

Following up on the course announcement that I posted yesterday, here are the call numbers for that class:

ECEN4043 -- 14368

ECEN5053 -- 23360

Contact Ruth Dameron in ECEE for more information if you are interested.

### Course Announcement: Software Engineering of Multiprogram Systems

Ruth Dameron in the ECEE department will be teaching a class next semester called the Software Engineering of Multiprogram Systems. This course is going to be taught as a special topics ECEN class, but it can be taken by CS undergraduates and petitioned to count as a CS elective. The course is in the process of being assigned a "real" course number and in the future will be offered as CSCI 4648/5648. More details are below.

The ECEE and CS Departments are creating a new course titled "Software Engineering of Multiprogram Systems", which will be cross-listed as ECEN 4643/5643 and CSCI 4648/5648. Since the course may not be officially created in time for the Spring 2010 semester, it will be taught as an ECEN topics course (ECEN 4043/5043) that semester. The CS Department will allow students to petition to count Spring 2010 ECEN 4043-001 as a Computer Science elective.

This course assumes a background in object-oriented analysis and design. The course considers the software engineering of a product in which multiple processes are running concurrently, sharing data, and communicating as a system in a single environment (not distributed). Since concurrent processes vying for resources can cause performance bottlenecks of various types, we look at how to analyze performance at design time as well as how to design and test synchronization and shared-data communication. We look at how design choices interact with memory management, input/output, and file system support. The newer multicore processors add to the importance that software engineers understand concurrency and its impact on requirements analysis, design and testing.

The call number will be posted here as soon as it is available (in the next few days). Contact Ruth Dameron at <Ruth.Dameron@colorado.edu> for more information.

### Lecture 30

The slides and example source code for Lecture 30 are now available.

### Lectures 28 and 29

The slides for lecture 28 and lecture 29 are now available.

### Grades for Part Two of Semester Project

The grades page has been updated with the grades for part 2 of the project.

### Change in Lecture Topic

I'm changing today's lecture topic from test-driven design to concurrency. The TDD lecture needs a bit of work, that I need to push off to the weekend. TDD will now be scheduled for Tuesday next week. See you soon.

### There IS Lecture Today!

I arrived at lecture today to find out that there had been a miscommunication between myself and the grader concerning FCQs. The grader told several students that there would be no lecture today and that they could leave after the finished filling out FCQs. This was NOT the case. FCQs happen at the END of the lecture. So, if you intended to attend lecture today and were sent away by the grader, please come back!

### Lecture 27

The slides for Lecture 27 are now available. The example source code for Lecture 27 is very important today.

### FCQs

FCQs for this class will be held today at the end of Lecture. CAETE students: you will be completing FCQs on-line. Look for an e-mail message that provides instructions on how to access the on-line feedback system. Please do take the time to fill this form out: I read all of the comments submitted with these surveys and the data collected from these surveys are used in my annual evaluations. Thanks!

### No Homework 4

There will be no final homework assignment. You should focus your energy on completing the semester project.

### Semester Project, Part Three

Details on Semester Project, Part Three are now available. Summary: Iteration 2 is essentially the same as Iteration 1. However, it ends with a demo of the final prototype with Prof. Anderson. Contact Prof. Anderson as soon as possible to get on his schedule for next week. You have until Friday, Dec. 11th to demo your final prototype.

### Lecture 26

The slides for Lecture 26 are now available. The slides for Lecture 27 will be available shortly.

### Grades for HW 3 and Project 1

The grades page has been updated to include grades for HW 3 and Project 1. One change is that Assignments that say "Not Submitted" are worth zero points. Assignments that say "Submitted" are counted as an "A" worth 95 points. Of course, that score may change once your assignment is graded.

### Lecture 25

The slides for Lecture 25 are now available along with its example source code.