|
May 11, 2013 |
Grade calculations
|
|
|
May 4, 2013 |
Problem downloadsSupporting downloads
|
Agenda
APIs |
Pay attention
- It is hard to solve a problem if you do not carefully read its description.
- When testing whether two objects are equivalent do not use the == operator (i.e., use the equals() method.)
- The Java not operator is !. The value of a not operation is the logical inverse of its logical argument (i.e., not true is false and not false is true).
- A syntax error indicating a missing return is telling you that the compiler cannot determine whether every path of logic in your method reaches a return statement. If you cannot find the flaw in your logic add a return statement at the end of the method.
- A null pointer exception indicates that your code is attempting to send a message through a variable with the value null. Because its value is null there is is no target object for the message.
- For the reason indicated above a list variable with the value null is not an empty list, rather it is not anything. An empty list is a list with no elements.
|
Class 42 — April 29, 2013 |
Updates
- The exam and the makeup are both being held in Rice 130
- There will be extra office hours on Wednesday in Olsson 120 from 2 - 3:30
- There will be a Q & A session in Rice 130 from 3:30 - 4:30
- You ask the questions and we will try to supply answers
- You are allowed two sheets of paper.
42 step program
|
Agenda
Saturday final takers
|
|
Class 41 — April 26, 2013 |
Final exam
Downloads |
Agenda
|
|
Class 40 — April 24, 2013 |
Updates
Scheduling of final exam
Agenda
|
Concentration
TA-ing next fall
|
More more mosaic building
|
Class 39 — April 22, 2013 |
APIs
Agenda
- Continue class development
Mosaic building
![]()
![]()
|
Class 38 — April 19, 2013 |
APIs
Agenda
- Continue class development
Exihibition
Lutherization
![]()
![]()
|
Class 37 — April 17, 2013 |
|
Class 36 — April 15, 2013 |
DownloadAPI |
Agenda
Videos |
Caution
- You are expected to practice safe programming in your implementations of all your classes. It is the right thing to do and it is the right thing to score homework points.
- In particular, your constructors, facilitators, and gang of three methods should use getters and setters rather than directly accessing and modifying attribute variables.
|
Class 35 — April 12, 2103 |
DownloadAPI |
Agenda
Videos |
Caution
- You are expected to practice safe programming in your implementations of Calculator and Person. It is the right thing to do and it is the right thing to score homework points.
- In particular, your Calculator constructors, facilitators, and gang of three methods should use getters and setters rather than directly accessing and modifying attribute variables.
-
For example, consider the implementation of the Calculator method toString() that I wrote.
// toString(): produce a text representation of the calculator public String toString() { int t = this.getTotal(); int m = this.getMemory(); String representation = "[ total = " + t + ", memory = " + m + " ]"; return representation; }To accomplish it's task of returning a string supplying the values of the calculator's current total and memory attributes, it first needs to determine what those two values are. The correct way for a non-inspector method to get the value of an attribute is to use the appropriate getter — which in this case is to use the getTotal() and getMemory() methods. - Your implementation of Person constructors, facilitators, and gang of three methods should also use getters and setters rather than directly accessing and modifying attribute variables.
- However, your implementations of Person inspector and mutators do need to directly access and update the attribute values. The inspectors and mutators of a class are the plumbing that allow the rest of the class to operate safely and smoothly
|
Class 34 — April 10, 2103 |
Download |
Agenda
APIsSong gang of three
Tell me more
|
|
Class 33 — April 8, 2103 |
ExamplesSongTell me moreWorksheet due start of the next class |
Agenda
MP3s (for later)Slides |
|
Class 32 — April 5, 2103 |
ExamplesLocal APIAgenda
Take-home sheet
|
|
|
|
Class 31 — April 3, 2103 |
ExamplesTell me more |
Agenda
In-class quiz
|
|
Class 30 — April 1, 2103 |
DownloadsHelpful APIs |
Agenda
Test 2 |
|
Class 29 — March 29, 2103 |
RecapTake five or so |
Agenda
|
|
Class 28 — March 27, 2103 |
ExamplesVideo |
Agenda
Show me |
|
Class 27 — March 25, 2103 |
ExamplesSlidesVideos
|
Agenda
Tell me more |
|
|
Class 26 — March 22, 2103 |
PracticeTest 2
For next class
Video |
Agenda
Are you a BA student interested in CS degree
|
What is paired programming
|
What is not paired programming
|
|
Class 25 — March 20, 2103 |
ExampleLive |
Agenda
Quiz |
|
Class 24 — March 18, 2013 |
ExamplesSidebarEpistleTake home quizRecursive definition
|
Agenda
Recursive definitions?Videos
|
|
|
Class 23 — March 8, 2013 |
ExamplesSurveys
|
Agenda
|
|
Class 22 — March 6, 2013 |
Agenda
|
|
Class 21 — March 4, 2013 |
Examples |
Agenda
|
|
Class 20 — March 1, 2013 |
Example |
Agenda
|
|
|
Class 19 — February 27, 2013 |
ConceptionsExamples |
Agenda
SlidesVideos |
|
|
Class 18 — February 25, 2013 |
Examples |
Agenda
Handout examples |
|
|
Class 17 — February 22, 2013 |
Tell me about methodsVideos |
Agenda
Readings for next time!!!!!
|
|
|
Class 16 — February 20, 2013 |
Tell me againProgramming problemsSome web filesCopy and paste
Agenda
Readings for next time!!!!!
|
|
|
|
Class 15 — February 18, 2013 |
ExamplesLutherVision |
Agenda
|
![]() |
Class 14 — February 15, 2013 |
Examples |
Agenda
|
| |
Class 13 — February 13, 2013 |
Example |
Agenda
|
![]() |
Class 12 — February 11, 2013 |
Examples
Tell me moreVideo |
Agenda
Vocabulary
Slides |
![]() |
Class 11 — February 11, 2013 |
Examples
SidebarTell me moreVideos |
Change of plans
Agenda
Vocabulary
Next time
For today |
|
Class 10 — February 6, 2013
|
Exercises
Tell me moreVideos |
Agenda
Readings for next time
|
|
|
Class 9 — February 4, 2013
|
DownloadsLet's get quizzicalArt gallery |
Agenda
Previous judgingsReadings for next time
|
|
Class 8 — February 1, 2013
|
Examples
SidebarVideos |
Agenda
Readings for next time
Quiz
Because we care
|
Preparing for the future
- Fill out the super power form. The form will create a web page. If the indicated e-mail id was mst3k and the indicated power was Dinosaur metamorphosis, then web page
http://www.cs.virginia.edu/cs1112/people/mst3k/power.txt
would be created.
|
Class 7 — January 30, 2013
|
Examples
SidebarJelly Bean Quiz |
Agenda
Data filesReadings for next class
Videos |
|
Class 6 — January 28, 2013
|
ExamplesSidebarReading for next class
Tell me more
Videos |
Agenda
Ponder
|
|
|
Class 5 — January 25, 2013 |
Examples
EpistlesIt's all about you
Readings for next class
|
AgendaContinue our exploration of the basics of problem solving — getting data, performing computation, and displaying information. Along the way we will develop an appreciation
Fun fact winners — there is a tie!
Fun fact I did not want to know
|
|
|
Class 4 — January 23, 2013
|
ExamplesEven more examples for the interested studentReadings for next class
EpistlesVideo |
That's oddDana Wahoo is the owner of the Cavalier Ranch and has taken possession of 21 jackalopes. Dana directs the ranch manager to construct four new pens and enclose all of the jackalopes within the new pens. For the fun of it, Dana tells the manager to put an odd number of jackalopes in each pen. Is it possible for the ranch manager to carry out Dana's instructions. If not, explain why. If it is, explain how. AgendaSophisticated problem solving requires the ability to abstract. A very basic part of abstraction is ability to name a value and to manipulate the value through a referencing of its name. Sophisticated problem solving also requires two-way communication — getting data and sending information back. Java provides class Scanner as a means for communicating with an input source.
|
|
Class 3 — January 18, 2013 |
Examples
Readings for next class
Homework |
Choo-choo
Agenda
We have a winnerJava is a drink, |
|
Class 2 — January 16, 2013 |
Today's artifacts
Future artifactsReadings for next class
|
Agenda
|
|
Class 1 — January 14, 2013 |
In the newsAgenda
Java exampleReadings for next class
Haiku
|
How many jelly beans are there?Job interview fun
|
|
|
The waiting is the hardest part |
Pledge
- A signed copy of the course pledge is due by Monday January 14 @ 3:15. The pledge needs to be handed to me personally.
Readings
- A packet will be available from the bookstore. The packet contains an in-progress textbook and a workbook with the major course examples. Bring the workbook to every class meeting. I expect you will want to annotate it.
Practicing structured communication — haikuing
- Write an original, thoughtful haiku and electronically upload it using the class submission system by Sunday January 13 (the day before our class starts).
Software development
- A major activity occurring throughout the semester is developing the
ability to program in the Java language. In order for this to happen
you need to download and install two software applications to your
personal computer.
- Java Software Kit (JDK): the JDK will handle translating your
instructions to computer code.
The JDK must be downloaded and installed before you download and install the second application.
The JDK is a free download available from Oracle.
-
There are two Windows versions depending whether your laptop is running
32-bit or 64-bit Windows. Almost all laptops less than two-years old are
64-bit. If you are unsure, the 32-bit version works for all.
-
Apple used to provide its own version of the latest Java JDK. That is no
longer the case. So even if a JDK is already on your machine, the latest
version from Oracle is needed.
- Mac OS X version
- DrJava: an interactive development environment (IDE) for programming.
It is important that you successfuly download and install DrJava after installing JDK.
- Windows DrJava application
- OS X DrJava application
- Windows DrJava application
- Java Software Kit (JDK): the JDK will handle translating your
instructions to computer code.
The JDK must be downloaded and installed before you download and install the second application.
The JDK is a free download available from Oracle.



