| CS 100B Home |

You are expected to check for new announcements every day.

We recommend that you use the Newsgroup as well.

Grades, exams, etc:  Please do not email me, Laurie Buck, or anyone else
concerning your scores or grades. See postings below for more info.

COURSE EVALUATION: If you did not complete the survey or
if you did not submit a signed statement, you can still
get the bonus points! See below for the link to take the survey.
Submit the signed statement to me before noon Thurs at my office.

If you already did the survey but didn't submit the signed statement,
please do so by the same deadline!

FINAL EXAM:  Please don't email asking about grades. I
will post an announcement about  grades soon. I don't think grades
are usually posted, but I'll announce the official policy.
Sorry -- I'm getting hammered with email.

FINAL EXAM, PART 2:  Grades will posted in Carpenter
perhaps Friday, but likely Monday.

You can also submit self-addressed stamped envelopes to
Laurie Buck with a list of information you wish mailed to you.

Laurie Buck will *not* email  your grades!
Please follow instructions, above.

Old Homework and Prelims:
I have HW5 and old prelims in my office. Next semester,
you can pick up your work in mid-February.

Finals Week Office Hours: I'll be updating this gradually. We're holding standard hours until and including 12/3.
We'll have standard hours, plus some additional times. "Email appt" means you need to send email a couple possible times
you would like to meet.

David Schwartz: 2-4PM   M-F (I might have to cut short on Thurs)
Debra Goldberg: no hours 12/13;  Fri 12/10, 10 AM - noon, usual location; other hours by email appt.
Raju Rohde: usual times, others by by email appt.
Mike Singer: all hours cancelled.

Final Exam Conflicts: If you have a conflict with the CS100 final
exam, contact Laurie Buck at 303 Upson, even if you have already so.
Send her your name, ID, a schedule of your other final exams, and a
few suggested times for taking a makeup.

We will contact you AFTER the final on Monday, December 13 to schedule
the make-up exam.  We expect to be able to find a suitable time BEFORE
Saturday, December 18, which is the official date designated for
conflicts, but will use the 18th if necessary.

Course Evaluation:   As I posted in lecture, we'll be doing this online. Thomas Yan created a form that CS100B
will borrow (all hail Planet CS100A :-) There's a further incentive for CS100B students - we'll award bonus
points to your lowest test score, though I haven't determined how much yet.

The following link has the evaluation form.
Go to
CS100B Course Survey

Sample problem Solutions: I'm posting some of the solutions.
I'm sorry, but I can't post all of the solutions, mainly due to time spent creating the
final exam. Don't forget that I posted a few more online examples In the Programs link,
and those are quite useful.... Here's another tip: You need to know a select sort of the final!

Final Exam details: Don't forget to look here.

Course Evals:
The problems with Course Survey have been fixed.
The Submit button works again, so please print the confirmation
generated when you press the Submit button rather than the
completed original survey.

(If somehow the Submit doesn't work, *then* go ahead and print
the completed original survey.)

thanks for your patience and cooperation --

we are getting very valuable feedback from this survey.

Course Evals: We're having some web problems. Please PRINT your responses before submitting so we can
credit you with the bonus points. You have to bring the printed survey to the final exam so we can check you off.
(We'll have a check list so we can keep it anonymous.) If the web gets fixed, I'll post as soon as I find out.
I'm also announcing this at the review session.

More refined list of test topics: I wrote a list at the review session, but for those who couldn't/didn't make it:
inheritance, searching (really basic -- know linear search), select sort (yes, you need this!), inheritance,
abstract classes, polymorphism (forgot to mention -- yes, it's on the test), static vs nonstatic, arrays,
code tracing, MATLAB (see HW6 and lecture notes), encapsulation, some definitions from 1st/last lecture.

What's not on the test -- exceptions, threads, GUIs, graphics, random class, interface.

Examples and Samples: I hope you checked recent posts of online examples. I answered some questions that
popped up. In fact, I just added an example a few minutes ago that answers a question that popped up in the review
session. I'll try to finish the sample problem solutions by this evening or tomorrow afternoon.

Makeup HW: *I* graded them. They should be at Carpenter by now. I'm posting the Java solution on the Homework page.

More online examples: I've got a few more I want to post.  I just posted them. I recommend you include them in your
studying, though I won't include random numbers on the final exam.

Final Exam topics: A few people have asked -- to clarify:
everything covered in lecture and section except exceptions and threads, everything covered in programming assignments,
all online examples

So, you should know procedural programming, object oriented programming, static vs nonstatic, encapsulation, inheritance,
some abstract classes (yes, it's on the test this time), this, some searching, sorting, MATLAB. I strongly recommend
understanding PL3 very thoroughly.

Review Session: This was announced in lecture. If you missed, check out the Exams link for info.

Final Exam conflicts:  I'll be posting more information tomorrow Tues 12/7. If you have conflict, you must read tomorrow's

Contest Winners:  This has been tough...really, all of them are hilarious, though some more so than others.
The two that made me laugh the most when I read them were the "Woong Yoon The Terrible" (Mike Fox) and
"Tourist Attraction" (?) stories.  I lost the name to the 2nd story -- if that person could bring it in tomorrow or
my office hours, you get a free book.  What did they win? I have copies of Maple book and a Java book. Honorable
mention goes to "Mayor Patrap", "The Streets will flow....", "Tankoids", "The Terminator", "Code Wars", "The
Man Who Fell to Earth...then Ithaca", "Women mourning Dr. S's Departure", "This is the power of Java....",
"CS100B repopulates Ithaca", "Robots have to pay all those fees, too", all the sheetpile in-jokes. Also, everyone
who remembered MOBIUS and HAMMERFALL :-)

HW6: I just posted the solutions.

Samples: I just posted a bunch of sample questions here. Granted, some are a bit vague, but for those needing practice,
now's your chance. I'll likely post even more examples as I think of them.

HW6 questions:
- use absolute value? sure, but you still have to perform trap rule in each "zone"
    (Why? a chance to investigate more MATLAB and use things from HW2 - good practice)
- post "expected values"? Nope. Use MATLAB as explained in the assignment.
- where's int? the symbolic toolbox
- what happened to the website? the system took it offline for an hour yesterday -- not known why

PL3 Regrades: If you need a regrade on PL3, you must submit a form at Carpenter by 5PM Dec 2.

Final Exam Review: I changed the schedule. See the exams link. I'll give this session. In the next couple
weeks, I'll post example problems that we'll go over in the session. During the session, I'll also try to
highlight key issues covered by the final.

HW6: The Saga Continues
From Debra: if you use eval instead of str2double you can enter values like pi, pi/4, 3.1416

HW6 Help:
I am posting an example M-File script. You don't have to use this sort of
command structure, but I think students want something like the version I created. I
strongly encourage you to check help for many of the functions I used. See 11/29.

MATLAB tips:

  • Set your path if Matlab can't find your M-Files. Select the menu File->Set Path...
  • Want to see Matlab examples?
  • Click on the third icon from the right in Command Window. (The Path Browser icon.)
  • Click on C:\MATLAB\toolbox\matlab\funfun in the Path Browser Window.
  • Click on any of the functions shown on the right.
  •      You can select other directories and many other M-Files. For fun, look for trapz. Hint: see which.
  • Want to see extensive help on any function? Select the help menu Help->Help Desk (HTML)



    End of the semester announcements:
    Be sure to attend lecture this week -- lots of announcements and maybe a few treats.

    Forwarded From the CS Ugrad Office (303 Upson):
    Regular consulting hours will end this Friday at 6pm.  Special consulting
    hours will be held next Tues. - Fri. 2-5pm.  this is the last opportunity
    students will have to pick up graded papers and submit regrades.

    HW6 will be available for students to pick up in Carpenter next Tuesday,
    beginning at 2:00.  HW6 regrades will need to be submitted in Carpenter by
    5pm Friday.

    Students should check the grade posting in Carpenter next week and report
    any recording errors or omissions to Laurie Buck, during her office hours, by 3:00
    Monday the 13th.  A grade posting with HW6 will be in Carpenter by 2:00 Tuesday.

    Final Exam Review Session:
    I'm trying to reschedule from 12/11 to another date before the final exam on 12/13.
    I want to administer this myself, but I have a schedule conflict on 12/11. I'll keep you

    Office Hours:
    Everyone -- I'll be out for Thanksgiving, so consequently, no office hours on Weds 11/24. I'll make
    them up before the final exam. Happy TG.

    Contest Winners: I didn't forget. I'm having a tough time deciding which is "best." The problem is that are ALL
    hilarious, even the one that had me....errr, I'll mention in lecture. I'm currently thinking of making it a tie between
    "Woong Yoon The Terrible" and "Tourist Attraction" (as I'm calling them). Others that really stand out are "Tankoids",
    "The Terminator", "Heed it Well", "The Streets Will Flow with....", "Mayor Pratap", "The Female Robots", and "Aliens Get
    Charged for Everything Before They Can Take Over Cornell." (These aren't the actual names, just some features that
    really stood out.) One thing that's fascinating -- while every story is entirely different, there ARE repeated themes, like
    Star Wars ("Code Wars"), Maple as The Force, Mobius, Hammerfall, how Harvard and Brown will fall to the aliens, how
    architect and hotel majors will fall/join the evil robots/are destroyed, me as a hero, me as a secret evil agent, slams on CS100A,
    and some others I'll mention in lecture. You guys have some very vivid imaginations!  Some were unique, like the  David Bowie
    version and the one with CS100B repopulating Ithaca after the Apocalypse.

    If you guys don't mind, could you post your story to the newsgroup in ASCII? I didn't get a chance to photocopy many,
    so some of the names were lost. I also keep a scrapbook and would like to save whatever I can. Plus, I can pick official
    "runner-ups." Thanks!

    HW6:  The default value of eps is too low. Assign a new value with eps = 1e-6.

    Prelim Review: We're going over the PL3 solutions today and tomorrow in Section. I strongly recommend
    that you attend, especially since the final exam will assume you completely understand the principles in the

    HW6 and Makeup HW: Actually, everyone should still do the makeup even if you can't replace other HWs. Mainly,
    the assignment is a Java program for basicallly the same kind of work you're doing in HW6. Everyone who needs more
    programming practice is STRONGLY encouraged to do both. You'll also get a chance to see how programming in
    different languages works. It's kind of amusing, especially when trying to keep track of syntax and those blasted
    semicolons ;-)

    PL3 scores:
    mean           60.27
    SD               22.72
    median         66
    min               6
    max              99

    HW6 Hardcopies: I'll be dropping them off about 4:15. I have to wait for office hours to officially end.

    HW6: I just posted. The website doesn't seem to be accessing, the blasted thing. Give it a bit more time.
    I'll make hardcopies for everyone...should be in Carpenter. I'll try to get hardcopies in Carpenter on
    Friday. BTW, I had to drop the hydralic head stuff...I ran out of time -- sorry. If you're curious, come to my
    office sometime and I'll show you what it's about.

    HW5 solutions: Also just posted. And I'm also waiting for it to appear.

    IMPORTANT: LOST WALLET. A fellow student lost his wallet during the prelim. (A-O group -- Uris).
    If you found it, please contact me, and we can arrange to get it back to its owner.

    PL3 Solutions: Just posted in exams link. I think the graders are gunning to finish by tonight.

    Dilbert guy: Whoever gave me the cartoons -- I got 'em scanned. I'll bring them to lecture. Thanks!

    HW5: I'm going to try to have the best story win sort of prize...I can't guarantee anything great, but there'll
    be something. So, do your best! Yes, HW5 is due tomorrow, but it shouldn't take too long to do.

    HW6: Yes, there is one. I'm supposed to do an assignment using Matlab. It should be posted by Fri morning.
    (I'll announce more accurately tonight.) I do realize that it's also a lot at once, so I'll try to keep it short.
    But, you will still something interesting to analyze (hydralic head...yes, it's a real term.) Next year's class
    gets flocculation.

    More news...will post later today.

    Reminder: Extra office hours today - I am swapping my Weds hours for today. That means they're canceled
    tomorrow 11/17.

    Typos in online code? A couple students pointed out minor bugs. If you find anything, please let me know.
    I updated arrays_mixedtypes already.

    Matlab: Well, I decided to jump ahead and start Matlab, mainly because you have another homework to
    do, and it's in Matlab. So much for Java. I'll return to Java for the last day of classes. I'll try to post more
    examples to cover some stuff we've missed so you have head start in 211.

    Matlab Help: Check out Handouts link for Matlab and Systems of Equations files.

    Solutions to practice problems: I just posted them...should be available in a few minutes. Check out
    Programs link.

    PL3 topics: These were announced in lecture. Brief reminder: chaps4, 6, 8, maybe some of 9. Practice
    with the many online examples. Plus, you might want to review the techniques you used in HW4. I
    also posted sample questions and solutions from chaps4 and 8 from L&L. Note that you should have
    procedural and OO techniques down pat.

    HW4: Yes, it's at Carpenter.

    Extra office hours: If you need extra help from me, you can drop by between 2 and 4PM on 11/16.

    Smith-Waterman Algorithm: No, it's not on the's on the final! Nope, just kidding ;-) You should
    know the techniques, like arrays and strings and conditionals and iteration, but you do not need to
    memorize the approach for the prelim or the final.

    HW5: what to print: If you enhance the program with more than the required changes, you need
    print the ENTIRE program. If you do only the required changes, you may print only the pages where
    you made those changes. But , you still need to print the first sheet with your name, IDs, etc in the
    comment block as with all other assignments.

    Programming style: If you want to get an idea  how horribly you can write a program, check out Granted, C isn't Java, but they are related.....

    Sample Questions: Do problems 4.19 and 4.20. I finally received the solution manual to L&L.
    I'll post the solutions Sun or Mon.
    Office Hours: I might be out 3:30 on Fri. I can make up the lost 1/2 hour at 4:30PM, same day.
    Review Session: see Exams link.
    PL3: See Exams link for room assignments.
    New link: I'm starting a new feature of the vast CS100B Webpage....Advice.
    I hope to gradually add more things, some from my textbooks, and some new things I've
    been thinking about. Likely, this will be an ongoing project, so you might want to check future
    semester's webpages. (The current bit is a response to students having trouble with partners.
    Of course, I realize that all the partners getting broken up with might read the same thing, but
    at least you'll know they're respecting your feelings.)

    More examples: I strongly suggest you keep reviewing/trying/testing/experimenting with
    my online examples. Sorry about the delays -- the web access is sometimes flaky.

    Up: I think my entire website was down for a spell. I think everything is fixed now.
    HW5 Hardcopies: the office delievered a whole bunch to Carpenter earlier today.

    HW5: I just posted the whole thing in the Programming Assignments link. Remember that you need to
    review chap 7 and maybe parts of chap 10 on your own.

    Section notes: Turns out there were a few bugs in chap14.txt. I posted a cleaned up version here.

    Lecture examples: More posted every day. I'm posting more for tomorrow. They cover the rest of chap 8
    and parts of chap 9.

    More announcements: will be posted in lecture.

    Please bring a copy of the chapter 14 notes from here. I also posted 4 more examples.

    almost done -- will post soon.

    Solutions posted.

    Makeup HW:
    If you missed homeworks 1 and 2 because you registered late, I finally made a makeup assignment.
    You will have to look up some numerical techniques on your own, but it's not too tough. Please, no
    partners allowed (wouldn't make sense). Look here for the assignment.

    TA appts:
    Some students are getting the procedure wrong -- if you want to make appointments to see
    TAs, please look here and follow the instructions.

    Slight correction and update -- you need to read CHAPTER 7, the chapter on graphics.
    This assignment has a different feel and flavor then previous assignments...and consequently, I need
    a couple more days to prepare.  I am aware that the HW is close to PL3, and I'm taking that into account.

    I think some students are having trouble compiling the programs I've been posting.
    Note that you need to rename the class containing main to CUCSApplication or change the
    target setting (see Section 2.2.4 of Guide to Using CodeWarrior).

    Please continue to bring all programs to lecture.

    This assignment will involve an interesting combination of skills you've practiced.
    You should read Chapter 8 -- the assignment will use some graphics.

    Hallelujah -- I just updated it. Look here.

    Thurs lecture 11/4:
    Be sure to bring programs posted on 11/1.


    HW4 and Gaps:
    There's been some questions concerning some terms used in HW4.
    The following is a post courtesy of Debra:

    A gap is in essence a blank space used to create a better alignment with the
    remaining characters, or to complete a shorter sequence so it can be compared
    with a longer one.  It is noted in the alignment as a dash ("-").

    The gap penalty can be thought of as the weighted distance between any
    character and a gap.

    Gaps and gap penalties are *only* used for the minimum distance problem,
    *not* Hamming distance or weighted distance.

    A score is another word for a distance (sorry about that).

    An optimal score is a minimal distance.

    An alignment is a way of pairing characters (DNA characters and/or gaps) so
    that a pairwise sum of distances can be computed.
    For example, if we align CAT with AT as follows:
    we will add the distance between C and A with the distance between A and T,
    and add to that the gap penalty (i.e. the distance between T and -).

    Structured vs Procedural programming:
    I hate to say this, but after some questions from my TAs, I dug around and checked. Turns out I made some
    terminology mistakes.

    Anyone who lost points on the structured programming part of the answer (about 1 point, maybe 2 -- depends on
    your answer) deserves to have credit returned if s/he wants. (You would need to fill out a regrade request. I will
    announce again in class on Tues.) Anyone who received full credit on PL2, problem 1b can keep those points.

    What's the difference? Read page 56 of L&L. Structured programming involves using a language that follows a
    controlled path, like executing from top to bottom, according to rules defined in the particular language.  I misread that
    portion -- OOP and procedural programming both incorporate the structured programming approach.

    I'm sorry about any confusion or frustration this might have caused. Please let me know if you need any other help.

    How can I resist? I was leafing through the course guide...guess what I found? Look on page 9 at the bottom in
    the Sets section :-)

    I just sent email to students who have or might be "slipping" based on the PL2 scores.  I just want you to know
    that I'm trying to keep track of all the students and try to help anyone who might be falling behind. I had one email
    bounce from AOL, so, unfortunately, one student didn't get the email.

    If you do need help, please come talk to me or any of the consultants.

    More Programs:
    Yes, I like arrays.  So, I posted a bunch of examples online, yet again. Many of these
    examples arose from questions in class. I do expect you to understand each of them.

    Email and HW4:
    A bunch of people emailed me questions about HW4. I may have to defer these to the TAs...
    Please bring questions to sections. BTW, I volunteered to perform at Ithaca College on Nov 1
    (4-5:30PM, Park Hall Auditorium), so the TAs are covering my Monday sections. (What am I performing?
    The poster is on my office door -- it's a little hard to describe -- a grad student from Nigeria was in need
    of drummers to help out with a "performance" called Revolution and Remembrance: Power to the People! --
    the "show" involves a lot of poetry reading, drumming, dance, and "multimedia", I'm not
    dancing for this, but I have danced on stage before, believe it or not. I might sing a little bit, though. And no,
    no heavy metal this time, though I have sung in that style, too :-)

    Smith-Waterman Algorithm:
    We have a time and place! Philips Hall  101, 2:20-3:30 Fri 10/29.
    Debra will be explaining and demonstrating the SWA in all its glory.

    Debra asks that you read her post about understanding pseudocode.
    Look inside the newsgroup and read the posting before you attend.
    I will extend my office hours until 4:30 10/29 if you also  need to see me.

    Website and Programs:
    I just checked -- the programs I've been posting actually have access now.

    Disasters due to Roundoff error:
    I know HW3 is finished, but I can't resist.
    What happens in the "real world" when roundoff error attacks?
    Check out

    The web had gone for a couple of days -- about 5 students emailed me concerning that. Fortunately the
    email ceased ;-) I just checked the programs in Programs and they're available.

    Actually, I might still be having trouble -- I just posted more examples and they're
    not appearing. argh! Please be patient.

    More examples:
    Yes, I promised more examples, like exiting from a program....patience -- they'll be posted soon.

    Smith-Waterman Algorithm and HW4:
    There's been some requests for more "dirt" on the approach. I talked with Debra, who's our resident
    computational genomics expert. We're trying to secure a seminar room on Fri this week. I'll keep you

    Academic problems:
    I'm trying to obtain an email list of students who might be "in trouble" (did poorly on recent PL or HW).
    If you're having problems with the course, I have a fair idea who you are (even if I can't connect a name to
    a face -- I have the overall gradelist.)

    I know what it's like to struggle with a course -- remind me sometime to tell you about my trials with
    Thermodynamics (I nearly failed the first test).  I also know what competition feels like -- I'm telling the
    truth about the 50%-fail rule for my Freshman physics and Sophomore mechanics.

    What saved me:
    1) Seeking help from TAs in Thermo -- I met with my TA *every* week and discussed all the homework.
    2) Correlating homework, lecture and reading from the book. Try to recreate lecture notes -- it takes time,
          but at the end, it's almost as if you wrote your own book.
    3) Doing small examples -- whether it's Thermo, Mechnics, or CS100, doing a barrage of small examples will
         help you become familiar with the rudiments and tear down some psychological blocks. If you can understand
         these smaller chunks, the bigger chunks will come. How? Think of HW4 -- there you need to instantiate 2
         objects, gather input, convert strings to characters, iterate, sum, etc. Each of these involves smaller chunks
         that you can practice and learn individually.
    4) Internalizing competition -- here's something I still struggle with -- as much as we might want to "beat"
         everyone else, what really, really, really counts is what each of us learns and how each of us acts. Remember:

            Sooner or later, external competition will make you nuts.

          In the end, what's important is whether you *learned* the material. Too many times I paid a price for going for
           the grade and not the skills/knowledge.

    I don't know why some people can learn things in a moment, while others have to bang their heads against a wall.
    I like to think that perserverance can overcome whatever is blocking a person. I have all kinds of stories -- how I
    spent 5 years struggling to play the drums before I "got it" -- or a friend who failed Calculus something like 5 times
    and ended up being a rather good structural engineer....

    So, if you're having trouble, it means more work on your part, I know... you have to decide if you want "it" badly
    enough and up the ante, so to speak -- somewhere you have to find the time and energy -- if you do, I think you
    will be satisfied when the material starts's amazing what a little brute force can do.....

    Web server:
    I'm having some trouble with my web server -- I can't see to convince my account that I put in new files
    under the Programs link. So, please be patient.

    Arrays: I've posted a whole bunch of sample programs that deal with arrays. Be sure to check them out.

    I'm glad everyone is being honest. I've read all of them so far, but i think many didn't submit. Please, please do. You can
    also come talk with me -- that might help even more.

    Please be aware -- there's a lot of disagreement concerning my pace and coverage...about 1/3 so far think I'm too slow.
    About 1/3 say too fast and 1/3 figure about right. Soooo.......I'll see what I can do. I really, really need to target those who've never
    programmed before. (I should have asked about that on the eval form to get a better correlation!)

    So, the more people who submit forms, the better idea I'll have. You can bring them to Section or Lecture.

    I may ask a few students to come talk to me -- there's some ideas about posting examples in class and on-line, but I'm
    not sure how to improve my postings. One solution might be CodeWarrior  -- using the debugger to set breakpoints -- I
    haven't disccused that at all, so maybe that would help.

    I'll post more when I get more eval forms in. I have some ideas based on what everyone wrote, so I'll post them, and see what
    you think. yes, you *can* affect your own class! CS100B rules. B, B, B! :-)

    Prelim 2 solutions:
    I'm posting them in tonight.

    I made a few cosmetic changes, but the online version is still valid. It's been up since Thursday night.
    I hope you got started already -- please don't wait until the last minute.

    In the interest of saving you the printing cost, I'm having hardcopies made. I'll distribute them in
    lecture on Tues. All leftover copies will be in Carpenter after my 11:15 lecture.

    BTW, the average was about 87. Did anyone know the title of my PhD Dissertation? Yes, it was in HW3
    as one of the references :-)

    HW4: now posted here. We, the staff of CS100B, and especially Debra who came up with the assignment, STRONGLY
    encourage you to start RIGHT NOW.

    I'll have printed copies made by Monday -- they will be available in Carpenter.

    Interval Analysis and Complex Numbers:
    How could I resist? I just caught news of a group working on both IA and complex numbers. Since you just did both,
    maybe you would be curious to check out the following abstract:

    PL2 solutions and grades: I will post the solutions "soon" (I have to get Homework4 done first....).
    Grades should be ready within about the same interval (there's that word again) as the last prelim.

    More programs! fixed (had 2 bugs); posted all 10/19 lecture examples today

    Variables and static methods: I was correct about test3 inside today. I double
    checked my output. main could not access test3 because test3 was not declared static. Don't believe
    me? Try it out.

    Advice: On a related note, a lot of students have asked me "what if I do this?" kinds of questions.
    I STRONGLY encourage you to go ahead and try. That's how I learned to program after all was said
    and done all these years. By sitting down and trying simple, smaller tasks I would to tear apart each line
    of code. When I found what what worked, I would go back and try to understand why.

    Granted, this takes time...if you can budget maybe an hour here and there, you will be amazed at how quickly
    you become a skilled programmer. Remember that: programming is a skill, and like any skill, it takes practice.

    Solutions to Sample Prelim2: posted here.
    There's a few bugs in them, but they're working OK.

    New example: Check out the Programs link. I posted a small exmaple in response to
    the many questions on how to return an Interval object from a method. I demonstrate
    a variety of approaches.

    Homework3 solutions: posted here.
    Review Session: don't forget it's tomorrow (Sunday)


    Sample Prelim 2: Online! Look here.


    Read 10/13: Read everything below in 10/13.

    Locations for Prelim2: look here.

    HW4: The due date on HW4 (and 5 and 6) has changed to Nov 4. I will post it early next week.
    Stay alert for announcements. HW4 explores aspects of computational biology using arrays.
    Isn't CS100B a blast? First, sheet piles. Then, uncertainty analysis. Now, genomics. Just what will
    we think of next? :-) Aren't you glad you chose "B"? B! B! B! ;-)


    Review Session for Prelim 2: Olin 155,  7-9PM, Sun 10/17. (See your course guide and exams link.)

    Prelim 2: You do realize there's Prelim 2 on Tues 10/19? Have a conflict? Please contact Laurie Buck.  As I posted in 10/8, has a bug (I checked with previous CS100 profs...guess what? It was
    my HW3 that "caught" the bug that had been lurking there...aren't we lucky? ;-) Anyway, read 10/8 for the news.
    I did post a corrected version of if you would like to try the "good" version.

    Extra office hours: I'll be available 1:30-3:50 PM on Weds 10/13. I'll also have extra hours on Mon 10/18.
    Don't forget that Mike Singer has open hours 1-2 PM on Weds, too. Look here for details.

    Even more office hours: Raju's "appt" hours are swtiched to "walk in" for just tomorrow 10/13. Look here for details.


    More examples: keeping checking the Programs link for new additions.

    10/8: (yes, I'm posting one day in advance -- I'll add to this "tomorrow" (meaning when today becomes tomorrow ;-).

    Missing Disk? Did you lose a disk in Carpenter? A fellow student brought it to me. Since I'll be out later today,
    I left it with my assistant Karla (bet you didn't know I had an assistant ;-) in 5147 Upson.

    Office Hours today (Fri): Sorry -- I need to cancel them. I'll make up the office hours before Prelim 2 when
    students will likely need them the most. I'll be in my office after my normal office hours this coming Weds for those
    who need last minute help on HW3.

    Consulting during Fall break:  No consulting Sat-Tues, but some consultants might be available Tues night.

    Extra Help: Raju and Debra have informed me they will be available during Fall break.

    HW3 and a couple of students have pointed out a bug in'm looking into it. Need a quick
    review of (discussed in Sections)? Look here. (see

    OK -- I looked into it (well, I passed it along to be looked at ;-). Big thanks to Chris Hescock, a fellow
    student of yours who caught the buggy. I don't think it will affect everybody, but if you find that is
    hurting your solutions, then skip using it.

    Significant figures: Please note that, sure enough, a typo emerged. I ask students in Section 5.3 to produces at least 2
    significant figures. Think about that for a moment :-) I meant to say no more than 2 sig figs. If you already chose more than
    2 sig figs, don't worry about it (I'll inform the graders).


    Please reread 10/6. I made some changes.

    I'm getting in the habit of posting my examples now. I just added another example.
    Rather than informing you every time I post something, figure that I'll post an example or
    two each time we have a lecture. It's guaranteed, just likely. Remember that they're posted


    Lecture for 10/7:

    Some students have asked for more in-class examples (on classes, forgive the pun ;-)
    Look here for postings. Note that I updated *today* (included info on aliases
    after discussing it with a student in office hours. He got to see me program on the spot :-) is that example I pass out last week that I *just* started on Tues and will
    finish tomorrow. This example is my attempt at clarifying the example on page 137.

    Seed code for HW3

    I've been thinking this over. Rather posting on the web, I would rather have the students seek help
    when they get stuck, lest I give away too much and end up not doing anyone a favor (you know,
    "hampering your learning").

    However, I won't leave you stranded. keep an eye on the newsgroup:
    If there's a big enough demand, we'll post something there and probably on the website.

    OK -- I just posted some code. I hope students are reading this day's announcements over again.


    My syllabus needs updating. Read the message dated 10/6/99 here.

    10/5: Even more news:

    HW3: I brought hardcopies to class and dropped off the remainders at Carpenter.

    Prelim: Missing your prelim? All unknowns/unmarked/uncollected tests will be distributed at
    Carpenter on Firday afternoon. You should wait until trying Carpenter before visiting
    303 Upson.

    Regrades: Please review your course guide for the regrading procedure.

    Examples in class: I'll be posting them here in a few minutes.

    Announcements: I have a feeling that some students missed some things I announced in
    lecture. Though I try, please be aware that not everything I say in lecture shows up here.

    Mike's Office Hours: Actually, the hours are the same. But Mike's room changed! It's now 476 Rhodes Hall.


    Homework3 -- you should be using the version that's online as I announced in lecture last week.
    (I guess not everyone's attending lecture....) The hardcopies were delayed, but that shouldn't stop
    you from working on it. The hardcopies will be ready tomorrow or early Weds.

    Prelim solutions -- A few people asked me. I posted them on 10/1. Look below.


    Can't find your ID/Student Code on the Prelim grade posting? Laurie Buck posted a message
    about what to do. I'll repeat it here:


    Prelim Solutions: Now posted here.

    PRELIM GRADES: I made a "slight" blunder. Do not go to Upson!
    Go to Carpenter Hall for grade postings. Sorry about that.

    Lost Glasses:

    Did someone lose their glasses? I have glasses in my office.


    Posting of Prelim 1 Grades:

    New office hours for Raju:
    Raju's changed his open Thurs office hours to 6:30-7:30 on Thurs.

    9/28: NEW HOMEWORK

    I just posted programming assignment 3 here.

    Please note: the print copies aren't ready yet. Also, there's likely some typos I missed, or
    perhaps the instructions are unclear. Whatever you think is vague please let me know. I'm
    having a bunch of TAs proofread for me. If I make any changes I'll let you know.

    For now, you should read though the assignment and try to grasp what's going on. There's a lot
    of material, I know. But, when all was said and done with HW2, that thing would have hit *20* pages,
    including the lecture material, maybe more!

    Also, I think I might have to provide some "seed" code to get you started. But, before doing so, I want you
    to start on your own.

    Note the new due date!

    9/27:  Important!
    Hey, I just found out that all your HW2s were sent to Carpenter!
    (I was about to go pick up my piles for section).

    Please spread the word!


    9/26: Sample Prelim solutions

    Hello all -- I just posted the sample prelim 1 solutions. Sorry about the typos in the sample.
    Unlike the sample, I had the TAs proofread your real test. The problems and weaknesses of
    the sample are already fixed in the real test. For instance, I tell you there are 10 errors in
    some sample code, rather than leaving you to guess how many mistakes there are.

    I fixed the errors in my solutions, so you might want to stick to that version. Click here for
    the solutions.

    9/24: Review Session and Sample Prelim Solutions

    On Sunday, you need to enter Olin from the PLAZA side -- the doors are locked. I just got the
    combination and key to the building, so now we can all get inside.



  • Location of Prelim 1 is based on your last name.
    Please review the following chart:

    Last Name        Location
    A-H                  Olin 255
    I-N                    Hollister B14
    O-Z                   Olin 155

  • Sample Prelim (again)

  • Please note: Some questions (mainly 1-3) on the the sample are *HARDER* than what's on the
    actual test. Problems 4-5 on the sample are a bit easier, though. On the actual test, I ask for a
    bit more programming in questions 4-5.

    One student asked about previous exams in CS100.
    I figure I might as well save you some digging around. Check out the following links:

    Some of the webpage pages are in disarray, but if you dig around, you're bound to find older exams.
    Slight tip -- remember that I'm new to Cornell, so my tests might look a bit different. That's why I
    created a sample prelim.

    9/22: Sample Prelim

    I just finished the sample Prelim 1.  I'll have photocopies made for the "main" problems.
    Look here for the full version. I'll review the solutions during the review session.

    PLEASE NOTE: The sample prelim is a "bit" harder than the actual exam, so please don't
    get scared. I figure that better you should have more practice than have a wimpy sample.

    9/22:  Interested in majoring CS? You should attend the following:

    "Changes in Computer Science:  Real and Imagined."

    Hosted by Professor Charles Van Loan, the Chair of the Department of
    Computer Science and Director of
    Undergraduate Programs, Computer Science.

    The University is in the middle of a reorganization of the Computing and
    Information Sciences at Cornell.   Professor Van Loan will summarize the
    current situation in 15 minutes and tell what it means from the
    undergraduate point-of-view. The rest of the session will have a Q&A format.
    Prof. Van Loan invites you to visit "Message from the Chair" at for some background information on this

    Open to all undergraduates.

    September 28, 1999
    4:30 pm.
    Olin 155.

    9/21:  Test and homework info below. I have more accurate info on PRELIM 1 nowL

    PRELIM 1:

    Just Added/Dropped? Sections: Homework 2 Solutions:

    9/18:   Some thoughts:

    In need of help?
    Are you feeling stuck or frustrated? I think some of the newly initiated programmers might be
    a bit intimidated still. I strongly encourage anyone who's stuck to speak to me, the TAs, or consultants
    ASAP.  When I was a student (which, BTW, was a total of 1.5 months ago :-) I was scared of talking with the
    professor. Only a a few times did I ever seek help -- and those times were very fruitful. Of course, coming to
    office hours only helps if you've taken some time to sort out what you don't understand. Anyone feeling
    completely lost might be better served by arranging for tutoring through 303 Upson. But, no matter where you
    stand, please take advantage of the help that's available.

    Please Remember:
    Also, I haven't talked about this much since the beginning of the semester...for the more experienced students in
    class, please remember that CS100 is aimed towards those who've never programmed before. If anyone feels I'm
    going too fast, please let me know. The more experienced students have a tendency to be a bit...errr..."noiser" (for
    lack of a better term ;-). I know this sounds a bit corny, but let your voice be heard! :-)

    For those who are more experienced, I don't want to stifle you, either -- on every homework, if you want to be
    "fancier" we will NOT dock you points for "extra" code (this issue came up a lot for HW2). In future semesters I
    might consider assigning bonus work, but for now, thank you for being patient!

    In need of partners?
    I've noticed that a lot students don't have partners -- perhaps some of the more experienced students might want to
    post on the newsgroup their availablity for partners? If you do partner with a less experienced programmer, you gain
    the advantage of being a teacher -- the best way to learn something is to teach it. For the less experienced student,
    you do run the risk of having a partner do the work for you, but if you insist on doing your portion, you will gain an
    "on-site" teacher.

    Another idea: Students in need of a partner should consider simply posting a message on the newsgroup. In email, you
    could then discuss your experience level and then decide if you are suitable for eachother :-) (I know, it sounds a little
    like a dating service.) If you feel too embarrassed, let your Section instructor know and perhaps the instructors can play
    a matchmaker role... no guarantee we can make the match for you, of course.

    I'll also try an experiment in next week's those without partners (and want one) make sure you attend class.

    9/18 (cont):  Curious about a career in engineering? Check this out:

    All Engineering students are invited to attend an Alumni Career Paths Panel
    Discussion, next Friday, September 24 at 4:30 in Phillips 101. This event
    is hosted by the Cornell Society of Engineers.  Pizza and more discussion
    will follow in the Phillips Lounge.

    Four alumni with different backgrounds will share their individual
    experiences and help answer students' questions such as:
    "What is working as an engineer really like?"
    "What choices will I have to make as my career develops?"
    "How are big companies different from small companies?"
    "What about being an entrepreneur?" and more.....

    9/18 (cont):  A CS100B student asked me to post this -- I haven't checked the veracity of his
               claims, but you might want to check out the following info/links if you're looking for
                "free" CodeWarrior or JBuilder. As usual, I recommend using "standard" CodeWarrior
                for your classwork, but if you're curious about alternatives, check this out:

    First off, Metrowerks distributes a Codewarrior Lite software through their
    website that is a restricted version of Codewarrior.  This would prove
    useful for editing code at a personal dorm-room computer.  However, you may
    not create new applications with this restricted version.  Codewarrior
    Lite is available for both Macintosh and IBM Compatible computer, free of
    charge. (It is not compatible with Windows 98.) Visit:

    Secondly, Borland freely distributes, for educational users, a "University
    Edition" of its JBuilder software.  I am currently running this software on
    my machine, and it hasn't given me any trouble yet.  Some of the added
    conveniences of the Codewarrior software are not present in JBuilder, but
    it is nonetheless a fine costless alternative.  (And it is compatible with
    Windows 98!)  The JBuilder "University Edition" can be obtained from anyone
    in the ABEN courses, as it comes bundled with their textbook.  (Perhaps it
    may also be downloaded from their site?)

    I hope you find this information interesting. Enjoy!

    -=Dave Johnson=-
      Class of '03

    9/17:     Turns out the photocopier was broken! So, it looks like the Newton handout will be ready tomorrow in Carpenter.
                (Try late morning, unless I post otherwise.)

                Please note: I will not be at Sections on Monday (out for Yom Kippur, 9/20) -- the TAs will be covering both of my sections.
                They will cover remaining HW2 questions and cover some material glossed over in lecture
                (nested loops and maybe a bit of formatted output.)

                If you are getting behind, I STRONGLY encourage you to seek help from consultants, TAs, myself or tutors
               (refer to here for office hours -- see also your course guide.)

    9/16:    More about Newton: turns out I had a couple typos that were made, uh..."apparent" in morning lecture.
                The corrected versions are now online.
                Photocopying of the old version was thankfully delayed -- the new version is being copied --
                I'll drop them off in Carpenter.

                Grading and Style and HW2:
                I've been getting a lot of questions concerning grading. Here's what I'm looking for -- clear, concise code. Bear in
                mind this question: Would you or anyone else be able to understand the program 1 week from now? 3 weeks from
                now? 3 months from now?

                Basically, here's the scoop:

                 Remember there is a regrade procedure if you disagree with the grade. Also, the grading is more about
                 commenting on style and less about ranking/being nitpicky. Usually, so long as you keep a consistent style and
                 follow the instructions, you will do fine. When instructions are unclear, you have to decide the best approach.
                 School, and more so, life, is like that -- there are times you have to pick something and go with it. If you've
                 read the style guide and follow the general rules, you should be OK. After the regrade, if you still disagree with
                 the results, you're welcome to come discuss it with me.

    9/15:    NEWTON'S METHOD WRITE UP: I finished it...I'm going to put it online here.
                Please let me know if you have any questions or find any typos.

                Students having trouble really should come to see me or any of the TAs, consultants, tutors....

                I know this has nothing to do with CS100B, but check this out. Yesterday I got a call from a survey agency. The phone rep asked about my
                 "SATIS-FI-CATION" with my cable service.  Yep -- that's how the rep pronounced it --
                 She explained it was written that way on her list of questions.

                I thought about this for awhile, afterwards.

                Anyone uses the pretend-word "SATISFICATION,"  which is,  of course, "unsatisficatory," in their documentmentation will get a zero ;-)

    9/14:     I added another link to the main page for CS100B (plus cleaned up some links here and there -- anyone find anything broken?)
                Check out Programs, just under Handouts. We'll finish covering these examples in lecture and sections before prelim 1.
                I also extracted the CUCS Stationery -- there's no guarantee these will work for you since I extracted them out of CodeWarrior,
                but they seem OK. Anyone else try? Please post response in newsgroup.

    9/14: I'm still working on my write-up for Newton's Method. There is *still* enough material in the original assignment
             for you to solve the problem, but many students asked for a deeper explanation of the method.

            So,  I'm working out a longer review with a lot of background that should fill in any missing gaps. Actually, I'm
            getting really carried away with it, so it's probably more than you need. I do recommend that anyone who
            feels rusty on their math should thoroughly review this document.

            I should have it posted about  noon on Weds.

    9/13: WARNING

                Drat! I made some typos in HW2 that someone brought to my attention:

                Section 3.3, Step 5 has some typos. Please use the following text:

               5.  Compute the products f_mid*f_left and f_mid*f_right.

                You can obtain the corrected copy from here.

    9/13:  I dropped off solutions to HW1 in Carpenter lab. Also, there were some extra copies of class handouts I left as well.

                HW2 worries/concerns/fright etc:  I was chatting with some students about the assignment.
                *If* you get nervous, before panicking, please read through the entire assignment. The
                 quations may look daunting, but all you have to do is make a bunch of variable  declarations.
                 There is some math involved, but the math will make sure you understand operator precedence
                 and variable declarations.

                Bear in mind, also, that there's only 1 "real" homework before prelim 1, so I needed to make
                something long enough for you to test/develop/practice your programming skills.

                Another thought: Why give such a problem? At an "upper" level course, you're typically just given a
                problem/equation/system and asked, "So, what's the answer?" It would be up to you to figure out the
                correct solution, method, implementation, and, sometimes, even the data! (I had that happen on a
                Foundation Engineering test once: the professor expected us to choose "reasonable" values for constants.
                Just imagine taking a test where you weren't given *anything* but a vague problem and no data!)

                So, how can you develop this skill? On HW2, I've given an "upper level" question, but filled in most of
                the method for you. By practicing this problem, you will develop skills for these upper level classes. You
                need to:
                1) Skim the homework.
                2) Look for the portions on what you need to do.
                3) Read the whole thing again. And again. And then, again.
                4) Start filling in bits and pieces from what you know

                Trust me, you'll thank me later :-)

    9/12: Hallelujah! The Announcements have been reversed! No more scrolling!

    9/10: Homework (Programming Assignment grades) -- here's the deal. Students can drop their lowest score from the 6 programming
             assignments. (The graders at the end of the semester will do this for you, of course. ) For students who registered late and missed homework 1,
             your homework grade will be based on homeworks 2-6. It's not a perfect arrangement, I know, but this way we cover all bases.
             So, for students who messed up hw1 for whatever reason, you've been redeemed -- this time. Please be more careful for future assignments.

            I'll be posting some more section info/questions/answers/sample code today. All sections will go over Week 2  (if they haven't already) and Week 3 info.

    9/8: Updated links, added PDF files for assignments and most handouts.
            It looks like 334 Upson was taken away for office hours -- I'm waiting to be told the new office for TA office hours/consulting.
            Two TAs do have assigned offices, so check out the Getting Help link.

    9/7: Looks like access to the newsgroup is working. Try the program WinVN for access to the CS100B newsgroup.
            Programming assignment 2 is now ready! Visit basement of Carpenter for a hardcopy. I'll also post the file to this website here.

            IF YOU *JUST* JOINED CS100B, please talk to Professor Schwartz (namely, me). Basically, I still want you to do programming assignment 1,
            but the grading will be different. I'll discuss in class on Thursday.

    9/6: Some students have notified me that the copy of CW5PCExtras.exe posted on the CS100B website is corrupted.
            Please download the file from

            A fellow student (Neil McQuarrie) graciously wrote up a guide for using J++: look here. While CS100B doesn't
            officially endorse using alternative software, you're welcome to try an alternative.
            Please do not ask consultants/TAs/instructors for any assistance on J++.

    9/2: check out the newsgroup for updates on CodeWarrior help.

    Wed 9/1: Some problems have arisen with CodeWarrior. If you have problems, please read the following:

    9/1: (not mandatory) In Java news today: check this out. (Look for a brief mention of Interval Arithmetic, the topic of my Ph.D.)

    Tue 8/31:
    Sun 8/29:

    Fri 8/27:

    Back to Top
    Back to CS100B Home