Software Engineering -- CS511
Boston University -- Fall 2001

Announcements

 

12/27

I have received several emails from people whose overall numeric grades are close to the next letter grade. (For example, someone who has 79.7 and received a C+ for the course..) They asked, as I expected, if I could raise their course grades to the next letter. While this is difficult to say, I am going to deny all such requests. There are three reasons for this...

The final exams will be placed in the CS office, for you to pick up and review. Some are already there, some are coming soon. See below for information about submitting your exam to me if you feel there was an error in the grading. (Yes, I will review errors in grading the final. If I agree with you that there is an error, and it affects your overall course grade, I will raise your course grade.)

12/19

The answers to the final exam are now posted.

To people who wrote extra credit papers: Feel free to call me up if you want feedback about the paper and why I gave you the grade I did.

12/18

Final grades are posted.

As you look at the final grades, you may notice that some grades (maybe yours) are very close to the next level. For example, you might have 79.7 and receive a C+, whereas if you had 80 you would get a B-. So you might ask "Can you raise my grade that extra small amount so I get the B- ?" I am willing to discuss this with anyone, but the answer is probably "no". Here's why... I was generous with the grades on the programming, since that part of the project is difficult. I also was generous with the extra credit papers, since those showed initiative. Then I curved everyone's final grade up a full 5 points (also generous).  So I feel I have gone as far as I reasonably can. If I start bumping grades up more, I would have to review all the grades that are close, and raise quite a few of them.

12/11

In a couple places on the grading sheet, you will notice some grades in red. I did this to not penalize a team for one person's lower performance. The team grade in red is a "gift" to the rest of the team. The individual grades in red are the actual grade earned by that person. 

After the final exams are returned to me by the grader, I will put them in the CS office so you can pick them up. You can ask me to review your exam if both of the following are true: You believe there was a clear error in the grading AND a correction to the error will result in a higher overall course grade. For example, if your course grade is 89 and you deserve 2 more points on the final, this would raise your course grade from B+ to A-. If you feel this applies to you, call me up or send me email, and I will arrange to look at your exam.

I am changing the method for grading the extra credit papers. In the original system, you could earn "nothing" (no change to final grade), "one grade change" (B to B+), or "two grade changes" (B to A-). The problem is that some of the papers are in between the first and the second case. They are not really good enough to warrant a full grade change, but the students definitely put in some work. So I am switching to a system of giving 0 to 7 points. For students who deserve a full grade change, I will give 3 or 4 points, which will have the same result. For other students, I may give between 0 and 3 points.

There are still several books out that I have loaned. Please bring them to the final exam. Here is my list -- Two copies of the Pfleeger textbook (Charney? and Kinkade?), After the Gold Rush (Galluzzo), COCOMO II (Fang), Design Patterns (Ajao).

11/27

Note that the final exam is during the official "study period". Previous classes liked this time, because it gets your exams over with sooner. If anyone has an objection to this, please let me know.

11/20

Be sure to double check all your grades I have posted, especially near the end of the semester.

Here is something I stated in class early in the semester, but it is worth repeating... "Everyone should meet with their teams. This is important. Students who do not actively meet and work with their teams may get 0 points for their team grade."

Please let me know about significant problems that you have with team members. Part of the class grading is the team work. So part of your grade is affected by how well other members of your team perform. However, if a team member is doing very poor work or simply ignoring their responsibilities, I don't want this to drag down everyone else's grade. 

You do not have to revise and re-submit the parts of the project that have already been delivered -- functional spec, design spec, test plan.

11/13

Please be sure to return to me all books and magazines that you have borrowed. There are only a few classes left, so please bring these items in soon. (Unless you are still using it.)

11/9

If you are attending class, please make sure you are officially enrolled. Everyone should double check your registration. There seem to be some discrepancies between the students attending class and the official class list.

11/5

Please re-check your posted midterm grade. There was an error on 3 of the grades. The new grades are a couple points lower than the first posting.

10/25

Be sure to check the reading assignments every week. I will be changing them. I will try to do this by Monday noon each week.

10/24

Team 10 -- You did a great job on the design spec, but there are no names on the front cover.

Team 7 -- Your design spec only lists one author. Please send me the name of the other designer/programmer.

Everyone -- Please make sure that the right team grade is flowing from the Teams sheet to your personal grade in the Students sheet.

10/23

An online event from Sun that you might be interested in...
On November 8, 2001, Sun Microsystems, Inc. will deliver a virtual  web-cast, entitled Sun Tech Talk: "Java Past Present & Future." Ron Kleinman, Chief Vertical Evangelist for Sun Developer Network (SDN), will address the audience live, via streaming audio and synchronized slide show. The event begins at 5:30 p.m. PST and will run under 1 hour. You may view it from home or office. Students who wish to attend should pre-register here: http://www.on24.com/clients/aftercollege/event_011108/ Click on Register in the top menu bar.

10/22

There are some people who did not take the midterm exam, and might be able to make it up. Therefore, do not discuss the test with anyone.

Look at the reading assignment for this week and future weeks. I have changed them today.

10/17

The reading for this week will not be on the midterm, since we have not talked about it yet.

10/16

There will be no quiz this week, just the midterm. But I still expect you to do the assigned reading.

10/15

More information about extra credit papers... The class presentations are a good model of what I am looking for. Take a topic in software engineering and explain it, in a fair amount of detail. Use several references, introduce the reason for this method, explain the important ideas clearly, give some good examples, and give your own analysis about its value. Keep in mind the writing tips we learned early in the semester.

Here is an excellent example of the description of one routine from a design spec. Note that it spells out exactly what the programmer should write when he/she creates this code, but there is no code here. It is an outline for code to be written later.

int SetPosition(int nTarget, int nPlayer)

Parameters:      nTarget – Target column to drop the piece into
                                    Values: 0<=x<=BOARD_WIDTH

                        nPlayer – Player who is making the move
                                   Values:  PLAYER_P1 – Player 1 made the move
                                                  PLAYER_P2 – Player 2 made the move 

Returns:            RETURN_SUCCESS – Operation had no problems
                        RETURN_FAILURE – Operation could not complete
                        RETURN_SPECIAL_COLUMN_FULL – The column
                        you tried to place into is currently full and cannot receive
                        any more pieces
                         RETURN_SPECIAL_GAME_OVER – The move has
                         just caused the game to be over.
                         RETURN_SPECIAL_INVALID_PLAYER – nPlayer is
                         an invalid value.
                         RETURN_SPECIAL_INVALID_COLUMN – The
                         column inputted is not in existence (negative, or more
                         than BOARD_WIDTH)

Pre-condition:  
nPlayer is a valid player id, nTarget is a valid column on the board and the game has already begun (a board class exists already).

Post-condition:
The board will now reflect the modified board, with the appropriate piece place in the appropriate row.

10/11

You must check with me before beginning a team presentation (or extra credit) topic. I will be flexible, but I want to make sure you are doing something that is substantial enough, is on topic for the course.

10/9

Quizzes and answers are now posted on this web site. See the link off the home page.

My lecture notes and the team presentations are now posted on this web site. See the links off the home page.

10/5

What do I expect in a good design spec?

Enough detail that another programmer could pick up the spec and write the code that you want them to write.

Must explain key algorithms, overall structure of the code, major classes, important data structures, and file formats.

Do not need to explain every tiny low-level routine.

Do not need to explain code that is part of the operating system or runtime libraries, such as built-in Windows classes, java libraries, etc. 

10/3

Raytheon and Sun will be coming to class for recruiting visits in November. I am working on Fidelity also.

10/1

Please let me know at least 3 days in advance (Monday morning) about your equipment needs for classroom presentations. I can bring a laptop with PowerPoint 2000 installed, or you can bring your own laptop, or you can use overhead slides, or you can bring handouts. But I have to let Media Services know in advance if we'll be using the projection equipment.

9/21

Here is a pretty good design spec from last year.

Extra credit papers are due at the start of class on 12/6. Hand in a printed copy, and email me a soft copy. You are welcome to hand them in early also. (You only have to hand in the paper, not present a talk in class also.)

Here is how I will do the grading for extra credit....  

Writing an extra credit paper does not guarantee extra credit.

If the paper is high quality and shows substantial extra work and knowledge of software engineering, who will earn one letter grade. So, a B- would be raised to a B, etc. To earn this, you should show that you learned something new, did substantial research, understood the material, and presented it well.

If the paper is of outstanding quality, you will earn two letter grades. So a B- would be raised to a B+, etc. I may not award this to any papers. It is the maximum for an outstanding paper that shows a lot of effort and a strong understanding of software engineering.  

Start

If you want to be in the class, you must come to the first meeting. If you are registered for the course, you must come to the first class or you will be dropped. If you are not registered and want to add the course, you must attend also.

Please read Sommerville chapters 1, 2, and 3; Rapid Development chapter 7; and Why Software Engineering Is Not BS before the first class meeting.

There is a quiz on the first day of class about the first reading assignment.

If any of the textbooks are not available in the BU Bookstore, you can get them from www.amazon.com or www.textbooks.com. Given these other ways of getting the textbooks, I expect everyone to have done the reading assignment for the first class.