Programming Fundamentals for CIS Majors 1
Fall, 2010

CIS 3022
Announcements

 
Last updated Thu Dec 9 2010 at 11:14:05 EST
Dec 9 at 11:13

Semester wrap-up

I will be holding office hours tomorrow (Friday) morning from 9am until noon: they will be my last office hours of 2010. If you have any questions or concerns about your grade, the course, &c.—or simply want to chat—please stop by.

I can only hope that this course has left you well prepared for your future endeavors. I wish you the best of luck and a happy holiday season. Take care! — Dave

Dec 1 at 19:26

Deliverables

Due Mon 12/6: mandatory Postmortem and final deliverables.

For what it's worth, I loathe double-spaced papers—quad-spaced is the only way to do it. But seriously: I like single-spaced, 12pt. font.

Nov 29 at 16:01

Lecture example

This is the promised material from today's lecture Shape hierarchy & implementation.

Nov 29 at 15:30

Lecture supplement

This lecture supplement may save you some aggravation: Working with interfaces.

Nov 29 at 09:59

Homework

Due Wednesday

Notes

For those of you unable to attend class last wednesday, here are the lecture 39 notes.

Nov 10 at 22:22

Practice lab quiz

For maximum benefit, do this before Friday's class! Practice lab 11/10/10

Exam 2 grades analyzed

There is, not surprisingly, a very strong correlation between the number of homeworks completed and median exam scores.

As I suspected, the grade distribution is bimodal (two humps). I'm delighted to report that 10% of those taking the exam earned 100 or more points and that 20% earned 90 or more! Congratulations! Great job! The most common grade was in the 80's (a very respectable score), and (much to my dismay) the second most common grade was in the 30's. While more people did better on this exam (compared to exam 1), more people also did worse [it should be noted that any attempt to draw conclusions by comparing performance on the first two exams is fraught with peril as exam 1 was biased towards regurgitating definitions and exam 2 biased towards problem solving].

Nov 8 at 12:37

FYI: no lab this Thursday (11/11) as it is a holiday.

Nov 3 at 12:21

Read

Start reading chapter 5

Correction

One of the the HashMap methods I mentioned in class is really named containsKey( key ).

HW 19 (due Fri)

Do: 5.1-5.35
Turn in: 5.17, 5.18, 5.20, 5.27, 5.32, 5.34, & 5.35

Oct 29 at 12:44

If you did not attend this week's lab, please e-mail me today if you plan to take the exam on Monday (I need an accurate count of exams to print).


FYI: I uploaded the inefficient HW17 solution to the code directory.

Oct 27 at 12:35

The ScannerDemo has been uploaded to the code directory. For the homework, you'll be reading from a File (which will need to be in the BlueJ project directory in which you are creating/running your program) so you'll need to

import java.io.*;
Oct 20 at 18:16

For those of you wanting a pre-quiz practice problem... implement (and, of course test) the method printAligned that takes four integer values and prints them in an aligned column, such that the longest integer shall be flush with the start of a newline and that their least significant digit shall form a column. Some examples (note: the start of a newline is indicated by | and is not part of the output):

For those of you wanting an even more challenging pre-quiz practice problem... implement (and, of course test) the method printCommaAligned that takes four integer values and prints them in an aligned column, such that the longest integer shall be flush with the start of a newline, the digits are group by threes separated by commas (the standard written convention) and that their least significant digit shall form a column. Some examples (note: the start of a newline is indicated by | and is not part of the output):

Hint: how many characters, does the largest "written" int value require? The smallest?

Oct 20 at 10:02

Microsoft's annual College Puzzle Challenge will be held on Saturday, November 6th. Team registration is open. It's a fun event, hosted by Gator grads!

Oct 19 at 13:02

FYI: in BlueJ, if your program gets stuck in an infinite loop, open the debugger window and click the Terminate button (big, red X).

Oct 13 at 12:34

Tony will be holding extra office hours periods 8 and 9 today.

Oct 13 at 12:33

Homework 14 updated with clarification

This is both a HW and a lab preview Write and throughly test methods that do each of the following:

  1. takes an int and prints (e.g., for 5
    5
    5 4
    5 4 3
    5 4 3 2
    5 4 3 2 1
    
  2. takes an int and prints [example values in red, output in black]
    1 ⇒
    *
    
    2 ⇒
    **
    **
    
    3 ⇒
    ***
    ***
    ***
    
  3. takes an int and prints [example values in red, output in black]
    1 ⇒
    *
    
    2 ⇒
    **
    **
    
    3 ⇒
    ***
    * *
    ***
    
    4 ⇒
    ****
    *  *
    *  *
    ****
    
Oct 8 at 12:49

Homework 12

Write methods that do each of the following; then write another test method that takes a String and calls each of the other methods.

  1. prints the character in that String in reverse order.
  2. print all uppercase letters as lowercase and vice versa
    TiGeR!  --> tIgEr!
    
  3. prints a transposed version of the String
    TiGeR!       --> T!iRGe
    Tiger        --> Trieg
    cat in hat   --> ctaath  in
    
  4. prints a transposed String in the untransposed form. Opposite of #3
Oct 5 at 22:13

Here are some practice problems for those of you who want some exercises to help prepare for the next lab quiz.

Sep 29 at 20:45

FYI: this week's lab will not cover any material new to chapter 4. Expect the problem to be a simulation that requires the use of conditional logic, unit conversions, and figuring out formulae. Remember: analysis first!

Sep 27 at 16:59

FYI: I curently can read, but not reply to email. I've spoken to the sysadmins and hope to have the situation fixed sometime tomorrow.

Sep 26 at 21:25

Please bring at least one blue pen or black pen with which to record your answers on today's and future exams. The requirement, of course, refers only to the exterior of the pen: its ink must be some shade of invisible-except-under-UV-light. ;)

Sep 20 at 10:05

The exam dates are now confirmed. The syllabus has been updated with locations and times.

Sep 1 at 18:16

Labs

The Labs are held in CSE room E113. To get there, go to the ground floor of the CSE building (across from Turlington, separated from Marston Science Library by the "fries.") Find the recessed, double-wooden-door doorway, which is the entrance to E114. Go inside. E113 is in the back left corner. For the first quiz, HW01 - HW03 are fair game. Bring your UF ID!

The labs are quizzes: that means... Closed notes. Closed book. Closed internet (except webpage(s) your TA specifically tells you are OK for that lab. Closed files (you may not look at any files stored in the CISE directory space other than those your TA specifically tells you are OK for that lab).

Because the Labs are quizzes, to be fair to everyone, you are prohibited from discussing or divulging the contents of a lab quiz until after 6pm on the day it is given. You are likewise prohibited from receiving information about a quiz in advance of your taking it. If you know of someone violating these prohibitions, please inform Dave ASAP.

CISE accounts

You will be issued a CISE account in lab. All account owners are responsible for knowing and following the CISE Acceptable Use Policy, and other CISE policies. They are also responsible for knowing the information contained in the CISE help pages relevant to their uses of the account.

Password requirements

Pick a good password before your lab meets. It must be one that you can remember (because you are not allowed to record it anywhere other than your neurons)!

Aug 29 at 19:11

BlueJ

Version 3.0.2 was released a couple days ago; you may want to download and install it as it supposedly fixes a couple bugs.

Source code

You should submit hardcopies of the complete source code for all classes that you modify or (later in the semester) author. When you are modifying someone else's code, it's a good idea to highlight the changes you made. You should be able to print straight from BlueJ—but, frankly it doesn't matter how you print the source code as long as you print it (though I would note that making screen shots of the source code is a waste of ink/toner).

Aug 27 at 07:54

Homework 2: enhanced problem 1.14

1.14 enhanced: In this exercise, we'll be adding a second sun to the picture. Pay attention to the field definitions close to the top of the class. You will find this code:

    private Square wall;
    private Square window;
    private Triangle roof;
    private Circle sun;
Immediately below that line, add the line
    private Circle sun;
Yes, you should have two identical lines in a row! Now press Compile. Write down what happens (is anything highlighted with yellow? is there a message at the bottom of the editor window? What does it say?) Now change the line that you wrote so that it looks exactly like this:
    private Circle sun2
(Notice the semicolon has been replaced with a 2.) Press Compile. Write down what happens (is anything highlighted with yellow? is there a message at the bottom of the editor window? What does it say?) Now change the line that you wrote so that it looks exactly like this:
    private Circle sun2;
(Notice a semicolon has been added after the 2.) Press Compile. Write down what happens (is anything highlighted with yellow? is there a message at the bottom of the editor window? What does it say?)

Create an instance of class Picture and invoke its draw method. What happens? What didn't happen? Why?

Fix the "problem" and verify that the programs works.

Remember, when you make changes to the source code you, before you can run it, you will need to press the Compile button at the top left of the editor window. This will translate the source code (which is meant to be human readable) into code that is runnable by the computer. Remember: anytime you make a change to the source code, you'll need to compile before the program can be run.

Aug 26 at 16:32

Answers to common questions

What am I supposed to turn in?

Did you write or modify any code?

No: so no source code should be turned in

Did you do something that produced graphical output?

Yes: so a screen shot of the output should be turned in

The the problem ask you any questions or tell you to write anything down?

Yes: that should be included.

How do I take a screen shot/print the picture?

That depends... Google for "screen shot" and your operating system's name to find out how to do it for your OS.
Aug 25 at 21:09

BlueJ

If when you run the shapes example, the top part of your BlueJ window looks like this...

then you probably using the "shapes" from BlueJ's examples directory and not the one in projects/chapter01 (from the zip filed that item #3 on the required software page instructed you to download), because if you were, you'd be seeing...

instead. I'm can't guarantee that both "shapes" are the same version of the program, so use the one from the zip file.

BTW, What's the difference between the two pictures? The diagonal lines indicate that the class needs to be compiled before it can be instantiated. If you right click, you'll see that compile is one of the options on the pop-up window. We'll talk about compilation soon.

Aug 25 at 17:24

I will be collecting the biosketch and HW01 separately. Please do not combine them.

Aug 25 at 12:24

Homework

Unless otherwise explictly specified, all homeworks are due at the beginning of the next lecture and you should expect that homework will assigned every lecture. Homework assignments typically will be announced in class and not posted online. Remember the deliverable format (and when the output is graphical, to include a screen shot).

As announced in today's lecture, the deliverable's coverpage shall have an additional item in the upper right-hand corner:

  1. your name
  2. the course prefix+number (e.g., CGS 3460)
  3. the date the homework will be collected
  4. the homework number
  5. your lab period
Aug 24 at 21:14

Lab

Labs will begin on Thursday, 9/2; they will not meet the first week of class.

Textbook

If you don't have the book yet, you can download the first two chapters here.

Aug 22 at 14:29

Welcome to Programming Fundamentals for CIS Majors 1! Be sure to check this page at least once a day so you don't miss any important announcements.

The mandatory biosketch assignment is due at the start of lecture on Friday 8/27. If you've written one previously, you can simply resubmit it with an updated “why you are taking this course” section, or even better, take the opportunity to tell me something new about yourself. (Should you be interested in such things, Dave: fact or fiction? is available for your reading pleasure.)

This website is an original work, Copyright © 2010 by Dave Small. All rights reserved.