CSE220 Home Page (Spring 2011)

Welcome to the CSE220 (Systems-Level Programming) home page for Spring 2011. This page will be the main source of course information throughout the semester.


Important Course News and Messages

Please check this page regularly for new messages. The newest messages will always appear first.

Final Exam scores are now available.

These are now available under the Personalized Course Information Area.

The exam was graded on a 50-point scale. The highest score achieved was 40. The lowest nonzero score was 11. The statistics are as follows:

FINAL (whole class ) Valid 61; Mean 21.93; Std. Dev. 6.39

In the above, "Valid" means the number of nonzero scores in the applicable category.

The final exam is scheduled for Thursday, May 19, from 2:15P to 4:45PM in Physics 118 (the normal classroom). You need to bring your ID and a pencil to mark the scantron. Leave other materials and gadgets elsewhere.

C Library printf Solution (HW12):

HW12 submissions were pretty disappointing. Basically, hardly anybody seemed to have the slightest idea of what it means to make a diagram of the activation record format used by GCC and to make a an assembly language function that could be called reliably from C code. Many people did not even show an understanding of what the term "activation record" means. Details will be discussed in recitation, lecture, or both.

Note: The "pop the printf arguments off the stack as they are printed" idea that some people used will not work properly, in general, because upon return from printf the stack pointer is not the same as it was at the time of the call. You will see a problem if you test with several calls to printf in a row, or with a few nested function calls, with the call to printf occurring at the lowest level. If you had only a simple test with main calling printf, you probably didn't see any problem.

Moo Solution (HW11):

Notes:

Midterm Exam 2 scores are now available.

These are now available under the Personalized Course Information Area.

The exam was graded on a 30-point scale. The highest score achieved was 27. The lowest nonzero score was 5. The statistics are as follows:

MIDTERM2 (whole class ) Valid 60; Mean 19.35; Std. Dev. 4.55

In the above, "Valid" means the number of nonzero scores in the applicable category.

Printf Solution (HW10):

A few notes:

C/MIPS Cross-Compilation Environment:

I wasn't sure that I would be able to accomplish this, but I have succeeded in preparing a cross-compilation environment that will allow us to combine C and MIPS assembly components into a single application that can then be run under the MARS simulator. This makes it possible for me to cover substantial amounts of important additional material having to do with how C programs are compiled and linked and the relationship of C to assembly language.

I will probably give as some or all of next week's homework the assignment of downloading the cross-compilation environment that I constructed and getting it set up on your system so that we can do something interesting with it before the end of the semester. However, it would be helpful to me if some hardy souls would like to give this a try sooner rather than later. If so, see here for instructions on getting and using the cross-compilation environment.

Unofficial Review Session:

A representative of the Stony Brook Computing Society (SBCS) has informed me that they intend to hold a review session for CSE 220 on Wednesday, April 13th at 8:30PM in CS Room 2129. Please note that this is a completely unofficial review session being conducted by SBCS on their own initiative without my participation. I am posting this information in case it may be of benefit to you.

Roll and Checksum Solutions (HW9):

Visual MIPS.

The "Visual MIPS" that Saad demonstrated in the recitation on Monday, 3/28 originates here. I cached a copy of the software here. The .exe file is for systems that already have Visual Basic (it worked OK on the Vista system on my laptop). The much larger .zip file is for systems that don't already have Visual Basic. I would hesitate to attempt installing that, due to possible clashes between the DLLs in the ZIP file and possibly newer DLLs already on your system.

Updated HW8 Test Driver.

Apparently I am somewhat out of practice at producing portable C code. I updated the test driver so that it compiles cleanly with the -Wall compiler option. This should forestall some possible problems for people running on 64-bit platforms. Please download another version if the one you have is dated earlier than March 22, 1:38AM.

Midterm Exam 1.

The TA has told me that people were asking if the midterm exams themselves were going to be returned to you. I do not intend to return the exams, because I do not want at this time to "publish" the set of questions. This is because multiple choice tests take a substantial amount of "up-front" time to create, and consequently I want to preserve my options to possibly re-use some of the questions in the future. However, I am happy to go over your exam results with you in my office if you have any questions about what you missed.

Midterm Exam 1 scores are now available.

These are now available under the Personalized Course Information Area.

The exam was graded on a 40-point scale. The highest score achieved was 36. The lowest nonzero score was 11. The statistics are as follows:

MIDTERM1 (whole class ) Valid 63; Mean 24.59; Std. Dev. 5.40

In the above, "Valid" means the number of nonzero scores in the applicable category.

Unofficial Review Session:

A representative of the Stony Brook Computing Society (SBCS) has informed me that they intend to hold a review session for CSE 220 tonight (Monday, 3/7) in CS Room 2129. Please note that this is a completely unofficial review session being conducted by SBCS on their own initiative without my participation. I am posting this information in case it may be of benefit to you.

Filltext Solution:

I have posted my solution here.

Network Problems:

I am aware of apparent network problems in accessing this Web server. I have not been able to localize the source of the problems. They do not appear to be problems with this machine itself; rather, they are consistent with some kind of externally imposed network lossage or throttle on Web requests. I am continuing to investigate.

I have detected odd network packets arriving at this server. They may be part of some kind of denial-of-service attack, but I haven't understood how they are causing the pauses in web service. I have attempted to firewall the offending packets and we'll see if the situation improves.

Exam 1:

The first exam will be held next Tuesday (March 8) during the lecture period. The exam will be in a multiple-choice format, using Scantrons. Bring pencil and USB ID!

UTF8to16 Solution:

I have posted my solution here.

Why were there so many people who used fopen? The assignment doesn't say to use that, and that's not how the Java version works. Also, what happened to the concept of good coding style? Code should be modular and as easy to read as possible, regardless of what language you are writing in.

FloatFun Solution:

I heard that people were emailing the TA asking for homework solutions. In general, I feel that the value of this kind of exercise lies in your working on them, understanding them, and solving them -- canned solutions are probably of little value. Nevertheless, since many people seemed to miss the point of the FloatFun exercise from Homework 3, I have posted my solution here.

Course Newsgroup:

I have created a newsgroup that can be used to discuss course material. The details are as follows:

If you send me a question by email and I spend time to answer it, I will likely post the question and answer on the newsgroup, after deleting your identifying information.

Although newsgroups are a relatively old technology, mail readers such as Outlook Express and Mozilla Thunderbird know how to access them. I don't know about Google mail, since I have never used that. Right now there is no authentication required to access the group (primarily because I never got authentication working again the last time I updated the software on my office machine). If there ends up being any problem with the open access I will either have to figure out how to enable authentication or shut it down.

If you don't have a mail reader that knows newsgroups (unlikely), or you can't figure out how to do it (you should try), then I've arranged a web link from which the postings will be accessible automatically as they arrive. The items will just appear as numbered links in the folder and you will have click on each one individually to see what is in it, but hey, it's better than nothing.

In theory, you should be able to post responses directly via the NNTP protocol that is used to read them. In practice, it might not be obvious how to do this with your mail reader. In that case, responses can be sent to the following mail alias: cse220@bsd7.cs.sunysb.edu. Once again, anything sent to that address will automatically end up on the newsgroup, so if spam starts flooding in I will have to change the alias.

TA Contact Information and Office Hours:

Can be found here.

Room change, Section 02:

Please note that the meeting room for recitation Section 02 (Monday, 11:45AM-12:40PM) has been changed to Psychology A 137.

Homework submission format:

People have been asking about the homework submission format. I would greatly prefer it if you submit PDF files. I would rather not get Micro$oft Word files. If you want to write your homework on paper and then scan it (if you have a scanner) or photograph it (probably most people have a digital camera of some kind) that is OK. In that case, please submit PDF if you can create it from the image files, otherwise submit JPG. Thanks.

No recitation -- February 7, 2011:

There will not be any recitation on Monday, February 7, 2011. As of this moment (Friday morning, February 4) I have not yet received a TA assignment, so there is not enough time to meet with a TA and get set up for a Monday recitation. Stay tuned...

No recitation -- January 31, 2011:

There will not be any recitation on Monday, January 31, 2011 (the first day of classes). Please attend the first lecture on Tuesday, February 1.

Emailing me:
Due to vast amounts of spam mail, I am forced to use a fairly aggressive spam filter on my email. Because student email often comes from places like Gmail, as does a lot of spam email, students have sometimes had problems reaching me. What has been working is for me to have a special whitelisted mail alias specifically for this course, this semester. The email address for this semester is:

cse220s11@starkeffect.com

If you have problems reaching me, use the address above. Hopefully it will last the whole semester, but if a virus on somebody's PC gives this address to a spam bot, I will have to change it.

Personalized Course Information Area:
If you are taking the course, please visit the Personalized Course Information Area, register a user ID there, and fill out the Academic Dishonesty Form.

I will be using this system to manage assignment handin and distribute grades.


Eugene W. Stark