Introduction to Programming I

* Home  * Description  * Overview  * Syllabus  * Resources  * Quizzes *
* Announcements  * Assignments  * Projects  * Grades  * Students  *

Final exam solution I have posted a key for the final exam, just in case you wanted to find out how you did in the final. Final exam key in PDF format
Grade clarifications I started to get many emails about this, so I think I will post the grading policy here. The distribution is the same as what is shown on the grades page. More details:
Grades posted Okay - here is what you have been waiting for! Final grades have been posted on post'em. Note that they are not on the gradesheet yet. I submit final grades tomorrow (Friday) at 3PM. If you find anything missing in your grade, contact me ASAP (that means NOW), and have it clarified. If you miss the 3PM deadline, the changed grade may not show up until later. Some statistics:
F	7
D-	12
D	12
C-	11
C	10
C+	18
B-	10
B	24
B+	15
A-	15
A	31
A+	12

      Class average: 80.2 (B-)
      Median score:  85 (B)
      Standard dev:  16.7
Exam venues Like the second mid-term, the class will be split into two for the exam. People with last names starting from A-M should go to Rawles Hall 100 (RH100) and people with last names from N-Z should go to our regular lecture room (Swain West 119).
Computer Science Evaluations The end of the semester is always about evaluations - the computer science department has its own method of electronic evaluations, and we encourage all of you to send in your evaluations - especially if you have any suggestions or comments about improving the class in general. Using the CS evaluations, you can evaluate not only the main instructor, but also the lab instructors. You can simply return the message you received from cseval, or send in the evaluations on-line. To send the evaluations on-line, please go to the Grades page where you will find links to the evaluations for individual AIs. Check your section number and do the evaluations for the main instructor of the lecture (i.e., me) and the main instructor of your lab. Thank you!
IUSA evaluations IUSA is going to organize a student evaluation on Tuesday, 4/27/99 in class. Please come in to the class on Tuesday to evaluate the course. I would really encourage all of you to evaluate the course. This is my first time teaching a course like A201. I tried a number of different things in this course, and I would like to know what you thought about them. Note that this is different from the Computer Science evaluation system. You can do that on-line, and you will receive an email regarding that shortly.

Team Member evaluations As part of the project, you will need to evaluate your team members. To do this, you will need to go to the grades page and follow the link to the evaluations page. Note that I do not have everybody's teams yet, so please read the directions very carefully, and if anything is amiss, email me, and do not evaluate your co-members until you hear from me.

Project FAQ I have started a FAQ for projects.
Project deliverable: Project deliverables have been posted. See the projects page for details.

Mid-term 2 solutions: Mid-term 2 solutions have been posted. See the syllabus page for details.

Assignment 8 solutions: Solutions for assignment 8 has been posted in the Assignments page. Assignment 9 solutions will follow shortly.

Lab 9 sample main program A sample main program has been added to lab 9. You should make sure your programs work with this main program.

Error in the main program Sigh. there was an error in the main program that was posted this morning. It should be fixed as of 8PM. If you downloaded it before that, please download it again, or change line 19 to:

      jillsAccount = new CheckingAccount("Jill", "121212", 250.00);
Sorry about that. Thanks to Jonathan Karn for pointing it out.
Exams and other grades Grades for Midterm 2, as well as lab 7 and lab 6 bonus have been posted on Post'em. You will get back hard copies of your assignments and the exam paper during this week's lab. Remember that since the grades were calculated electronically, on the paper copy you will only find the grades for the last two questions. I will post a solution to the exam shortly.

Exam curve The average total score in the exam was 27 (out of 40). As before, I have curved the exam to bring 27 into a B level. So the exam is now graded as if it were out of 35 and not 40. As usual, if you received more than 35, then that will count as extra credit. 31 and above are A's, 27 and above are B's.

Pre-exam ponderances: Since we are going pretty much full multiple-choice, quizzes 6-8 would be treated as practice exam questions. Make sure you try all the quizzes and understand the answers.

Assignment solutions: Candidate solutions to labs 6, 6a and 7 have been posted. Note that these are not very heavily tested, but they are basic solutions to the problems.

Exam venues

We are splitting the exam! See the syllabus page under mid-term 2 for more details!

Iguess solution problem The solution posted on the solutions has an error. After making a guess, it puts it back in the pile for guessing by setting it to either max or min. The max or min should be set to the next number accordingly. It is now updated with the right answer.
Lab 5 grades and solutions I have posted the grades for lab5 on postem. Solutions of lab5 are also up now. Please check your grades and let me know if there are any inconsistencies as soon as possible.
Clarification on second project milestone You will get your proposals back during labs this week. In your proposals, if you see a comment saying "rewrite" or "redo", then you will need to rewrite your proposal based on what you were supposed to do. Most likely you did not have adequate details for us to understand what the project would be. You will need to turn this in the next lab, otherwise you will get penalized in the project. For others, there are no deliverables this week.
Out of office I will be out of office this Wed through Saturday (3/10 through 3/13). So I will not be there for my office hours this week. However, I will be accessible by email, and I will be here during Spring Break, so if you have any questions, please email me or make an appointment to see me over the break.

Classes this week Since I will be gone this Thursday, the lecture on Thursday is cancelled. Labs meet as usual, but we decided to only have a short extension to lab6 for the next lab which will count towards bonus on lab6. Details will be posted in the assignment page by tonight. Labs will meet as usual.

Lab and project extensionI am granting a two-day extension for lab6 (without the bonus part) and project proposal until this Friday (3/12/99).

Details on project submission You should hand in your project proposal in hard copy in the lab. Only one submission per team. Make sure the names of all the team members are on your proposal. The proposal must be word-processed.

Lab 4 solutions posted Lab4 solutions are up now. They are somewhat my solutions - may or may not be the best ones.
Typo in Lab 5 - there were a typo (actually more a mistake) in lab 5 - you can guess the number in 4 tries only if the number is between 1 and 15, not 16 as was posted in the lab. Also, if you printed it the night before, there was a part of lab 4 that got pasted in lab 5, which has also been corrected. Please take a fresh printout if you want to make sure.

Sorry about any inconveniences.

Changes in assignment/exam: as announced in class, lab 4 is now due on Thursday midnight, but you may need to make special arrangements to get help, since there are no office hours on Thursday. Also, the exam full points is now 40, so if you received 32 or higher, you are in the B level.
Sigh. I will be out again. But this time I am making it a point not miss the lecture. I will miss my office hours this wednesday though. To make up, I will have special office hours after class (2:30-4PM on Tuesday). Sorry about any inconvenience.

There was no quiz this week! I will have one up by tomorrow, which willb e due next Tuesday (3/2/99).

Exam grades posted! I have posted the exam grades on postem. Please verify that you have your grades on there, if you have taken the exam. The highest was 47, and the average was 34.3 (out of 50). Usually I curve the exam by bringing the max down. In this case, I will most likely bring the max down to 45, so that your points would actually be counted as if it were out of 45. So if you received a 30, your curved grade would be 67 instead of a 60.

The midterm was only 10% of the points. If you did not do so well, don't worry, there will be lots of opportunities to make up for some slack, but you have to work hard starting now.

Quiz extension: The quiz 3 deadline is extended until 4PM tomorrow (wednesday 2/17/99) which means you will not be able to see the solution key until then. I wanted to make sure that you see the quiz solutions before you go to the exam, but since a number of you have been asking for an extension, and since it wasn't covered in much detail in class, I have made an extension. Question 1 has the same readLine - readWord problem, so assume that the name is read using readWord(). Sigh. And one thought Java was really platform-independent....

Midterm is open book! I announced this in class, but this is for those of you who missed it. You can bring a calculator to the test (although you will not need one), and definitely bring an ID. Use of laptop computers, is, however, not permitted.

Back! Okay, I am back, so expect to receive replies of your messages (slowly) as I go through them.

Piglatin rules! Looks like I myself as well as some of the AIs were confused about the rules that govern Piglatin. The rules from an expert is now part of the assignment. Please check the rules in the Lab 4 page

I will be out! I will be out of town this weekend until Tuesday morning. During this time, if you email me, you may not recieve a response until after Tuesday. You may want to post your question on the WizeUp Forum or email them to your AI.

Cafe 3.0 instructions! I finally got Cafe 3.0 Standard edition installed in my machine. On playing with it, I did see the justification of using Cafe 1.8 because of its simplicity (3.0 is much harder to use), but there are lots of very nice features in 3.0 that make it quit eattractive, especially for the $35 price for the standard edition. I have posted a set of instructions on the WizeUp Forum "Assignment Help". Please check it out if you are using Cafe 3.0.

Midterm Sample questions posted You will find a set of sample questions that will be similar to the larger questions in the class. Note that each part of the sample question will be like one question in the exam. Exam questions will not have parts. The solutions to these sample questions are available from the Syllabus page, but it is strongly recommended that you try the questions yourself without looking at the solutions first.

Bring those printouts! Because of the large number of students in this class, there may be a number of people waiting for the office hours. Most of us can usually look at some code and immediately figure out what the problem is, making it easier and less time consuming for you and the others waiting. So when you come to office hours, please bring printouts of your latest code and write down any error message that you need to fix.
I have started a tutor list. If you are in need for tutors, please check the new Tutors page. A permanent link is in the resources page.
Lab 2 solutions posted! Please check the Assignments page for the solutions.
Lab 3 FAQ already! We have already started getting questions on lab 3, so I decided to put a FAQ for lab 3 right away. We will be updating the FAQ pretty regularly, so keep checking it. The FAQ is in its regular place in the Assignments page.
Lab 1 solutions posted! See the assignments page to see the Lab 1 solutions. Expect lab 2 solutions by this weekend.

Slowing down the class! Since the number of topics we cover in this class is not that overwhelming, I have decided to slow down a little and take a little more time with strings. So the syllabus page has changed somewhat, and will continue changing as I work out how slow I will go. But for now, we will skip applets until after the midterm, and stay with strings and go to decisions next week.

Online discussion forum! I am testing out an online discussion forum for the class from, the provider of the electronic version of the course textbook. I have tentatively created two discussion forums, and will use it for a while to see how it works. Please check it out!

To use this discussion forum, go to The WizeUp Discussion groups. This will ask you for a username and password. To obtain one, you need to register using the registration link on this page. When you register, you will be asked for a "Professor Code", enter the word "Jit" with the exact capitalization as shown here.

Once you register and get in the site, click on Computing Concepts with JAVA essentials (the second book in that list), and then click on my name among the list of professors.

I have added the link to the resources page under A201 specifics.

We have two pieces of good news for those of you who want to work from home!

You can get J++ 1.1 to work, simply by downloading the file from JDK 1.1 and putting it in any directory and adding that directory to the project's classpath. There may be a simpler way, but I am looking into it. Suppose you download the above file into your C:\ directory. Then to change the classpath, use Project - Settings, and in the class path directories, type in the following:

Now you can compile and run your programs as usual.

You can also get the Symantec Visual Cafe, standard edition from TIS for about $38 - from what I heard. Although I haven't used it myself, I am told that it works fine for our A201 programs.

FAQ for Lab 2 is now up! Check it out. There is a link to it from the Assignments page under Lab 2.
We have started a FAQ section! Every assignment will have a linked to a set of frequently asked questions. See the Assignments page for the FAQ links. Before asking a question, please make sure the question is not in the FAQ.

Class notes will be available before class! On popular demands from students, I will make class notes available at least one hour before class so that you can print it out before coming to class. I recommend printing the notes with 3 slides per page with notes area (Use handouts: 3 slides per page mode) to save paper. Use duplex printers whenever possible.

QUIZZES HAVE STARTED!. Quizzes will be given every Tuesday and will be due by midnight the next Tuesday. You can take a quiz as many times as you want, make sure you get all the questions right, since the feedback from the quizzes will tell you your score and mark the incorrect answers. Make sure you try to understand the answers to the quiz questions!

To log into Quizsite, follow the link to Quizsite Students from the BEST Home page.

I have received a lot of questions on what software to use if you want to work at home. You can use pretty much anything you want, but make sure you can edit the code by hand in any software you use, and only use the packages provided in the lab. Do not use any visual drag-and-drop features that are available in some software. Here are a few choices:
Changes in office hours! Please see for the new office hours
You need a floppy!Since the lockers can't store files with mixed cases, you need to use a floppy disk to store your assignments. Its probably to buy a box of floppies - these will be for your use only - you do not need to submit floppies for any of the assignments.
Don't use Internet Explorer for submission! Apparently by default IE sends messages in HTML, and thus totally confuses the handin program.
A free version of the digital text of the Horstman book is available at Called the "FREE Drop/Add Test-Drive," it gives students chapters 1, 2 and 3.

The complete digital textbook costs about 20-25% less than the printed book, and can be purchased at

We will use an online discussion group provided by this site soon for communication purposes of this class. Watch this space for more details.

There was a problem with the assignment handin program. The problem was detected around 11:30 AM, and was fixed by about 4:30 PM. Any submissions between these times were most likely ignored. However, since these were primarily the test submissions for the in-lab exercise, do not worry, since the in-lab submissions were mainly for testing out the system. Make sure your lab0 submission properly goes through, however (i.e., you receive a response saying it was accepted.
Please make sure you have a valid network ID and network password before you go to this week's labs. You will need the network ID and password to get into the public computing clusters.