cs is 4 4 u plate

CS 1112 Spring 2013

Faculty

Students

Linkage










1112 spring 2013 class picture

 

adobe ps icon

May 11, 2013
Postscript

Grade calculations

  • Marks are computed according to the default UVA grading standard.

  • As syllabus indicates, rounding only comes into play for students with excellent class participation (regular attendance, questions, and answers).
UVA default grading scale

 


 

shoe testing

May 4, 2013
Testing 1, 2, 3, testing

Problem downloads

Supporting downloads

  • Test3Tester.java
    By uncommenting and commenting individual lines you can test your five solutions. The supplied tester program requires the two below libraries to operate. Make sure you download the tester and the libraries into the same folder as your solutions.
  • AnalyzeCode.class
  • Handler.class

Agenda

  • Demonstrate mastery

APIs

Pay attention

 


 

abbot and costello

Class 42 — April 29, 2013
Niagara falls

Updates

42 step program

1 1/14 Background, mechanics and indoctrination
2 1/16 Anatomy of a program
3 1/18 Computing and values
4 1/23 Variables, types, and input
5 1/25 Input
6 1/28 Objects: random number generation, pop-ups
7 1/30 Objects: files, graphics
8 2/1 Objects: strings, URLs
9 2/4 Objects: quizzical
10 2/6 Objects: lists – ArrayList and HashMap
11 2/8 Decisions
12 2/11 Iteration
13 2/13 Problem solving: putting it all together
14 2/15 Problem solving: putting it all together
15 2/18 Review
16 2/20 Test 1
17 2/22 Problem solving: method overview
18 2/25 Methods: activation records and flow of control
19 2/27 Methods: parameter passing
20 3/1 Methods: design and implementation
21 3/4 Methods: overloading
22 3/6 White out
23 3/8 Methods: list manipulation
24 3/18 Recursion
25 3/20 Web searching: list manipulation
26 3/22 Paired programming: list manipulation
27 3/25 Arrays: basics
28 3/27 Arrays: method manipulation
29 3/29 Review
30 4/1 Test 2
31 4/3 Two-dimensional arrays
32 4/5 Two-dimensional arrays
33 4/8 Classes
34 4/10 Classes
35 4/12 Classes
36 4/15 Object-oriented design
37 4/17 Object-oriented design
38 4/19 Object-oriented design
39 4/22 Object-oriented design
40 4/24 Object-oriented design
41 4/26 Interacting classes
42 4/29 Review

Agenda

  • Mastering classes

Saturday final takers

  • aaw5ud
  • asw5cx
  • cel4cd
  • cms3wy
  • emm3kz
  • hml3zr
  • hny2ze
  • jem3eb
  • jrm2sf
  • jsp8cc
  • kew3tm
  • kn3bf
  • lew5df
  • mew6qe
  • smo8av
  • tat3fq
  • taw6ac
  • wnh4qx
  • zeb8dh

 


 

movie poster

Class 41 — April 26, 2013
You ought to be in pictures

Final exam

  • The majority of the class preferred a Monday exam — the official exam time.

Downloads

Agenda

  • Mastering classes

 


 

golf golf

Class 40 — April 24, 2013
Foretiling the future - now

Updates

  • A method by method Tile tester is available
  • A more forgiving method by method Mosaic tester is available

Scheduling of final exam

  • Indicate your preference regardinging the scheduling of the final

Agenda

  • Continue class development

Concentration

  • There is an article whose advice might help you in preparing for end of semester (and also future) activities.

TA-ing next fall

  • There is a CS departmental form for expressing interest in being an undegraduate teaching assistant. I encourage all to apply.

More more mosaic building

    cherries     cherries

 


 

grid beach

 Class 39 — April 22, 2013
  Foretiling the future - part 3

APIs

Agenda

  • Continue class development

Mosaic building

jpc
jpc

 


 

you can do it jpc you can do it jpc

 Class 38 — April 19, 2013
  Foretiling the future - part 2

APIs

Agenda

  • Continue class development

Exihibition

Lutherization

luther
luther mosaic

 


 

iranian tiling

 Class 37 — April 17, 2013
  Foretiling the future - part 1

tj   rotunda mosaic

rotunda   tj mosaic


swedish scrabble

 Class 36 — April 15, 2013
 People who need people

Download

API

Agenda

  • Mastering classes

Videos

Caution


earth

 Class 35 — April 12, 2103
 People who need people

Download

API

Agenda

  • Mastering classes

Videos

Caution


calculator

 Class 34 — April 10, 2103
 You are so calculating

Download

Agenda

  • Mastering classes

APIs

Song gang of three

Tell me more


  alan hale as jonas grumby

 Class 33 — April 8, 2103
 Just sit right back

Examples

Song

Tell me more

Worksheet due start of the next class

Agenda

  • Object mastery skippery

MP3s (for later)

Slides


  snow white and the huntsmen

 Class 32 — April 5, 2103
 Who's the prettiest of them all

Examples

Local API

Agenda

  • Gain further familiarity with the two-dimensional array data structure in the context of image manipulation

Take-home sheet

  • Classes due the start of class 33.

  • You are required to make a very serious effort on readings 7.1 and 7.2, and a good start on readings 7.3 and 7.4.

  • Expect a quiz on the material at the start of the next class
dog   mirror of dog
elephant   mirror of elephant
snow-white   mirror of snow white


  william shakespeare

 Class 31 — April 3, 2103
 Two-d or not two-d

Examples

Tell me more

Agenda

  • Gain familiarity with the two-dimensional array data structure

In-class quiz

  • Submit your current solution of Operation.java before the end of class.


  can-can dance

 Class 30 — April 1, 2103
  Yes you can, can!

Downloads

Helpful APIs

Agenda

  • Demonstrate familiarity with methods and demonstrate some familiarity with arrays

Test 2


  stock market representation

 Class 29 — March 29, 2103
  Getting better every day

Recap

Take five or so

Agenda

  • Take stock


  sunshine movie poster

 Class 28 — March 27, 2103
 A ray of sunshine

Examples

Video

Agenda

  • Gain more familiarity with array structures

Show me


  rss subscription icon

 Class 27 — March 25, 2103
 Hurray for arrays

Examples

Slides

Videos

Agenda

  • Gain familiarity with the array data structure

Tell me more


  pair of pears

 Class 26 — March 22, 2103
 Pairing up

Practice

Test 2

  • Monday April 1, 2013

For next class

Video

Agenda

  • Instill appreciation for paired programming

Are you a BA student interested in CS degree

What is paired programming

  • A software development problem solving methodology where two people work together in a team.
  • The team uses a single computer during development.
  • One team member acts as a driver; the other member acts as a navigator.
  • The driver member of the team controls the keyboard; the navigator reviews the driver's actions for correctness.
  • The team members frequently switch driver and navigator roles.

What is not paired programming

  • Team members working alone.
  • Team members working apart.
  • Driver and spectator instead of driver and navigator
  • Simultanesous development on different machines.
  • One checking reference material as the other does development.


  searcher gui snapshot

 Class 25 — March 20, 2103
 Rehearsing

Example

Live

Agenda

  • Problem solve
  • Work on list manipulation methods
  • Recursive problem solving

Quiz


  illustration of the droste effect illustration of the droste effect

 Class 24 — March 18, 2013
 Not cursing but recursing

Examples

Sidebar

Epistle

Take home quiz

Recursive definition

Agenda

  • Problem solve
  • Work on list manipulation methods
  • Recursive problem solving

Recursive definitions?

Videos


  franz liszt are the piane

 Class 23 — March 8, 2013
 List etudes

Examples

Surveys

Agenda

  • Problem solve
  • Work on methods


  UVA snow day at home

 Class 22 — March 6, 2013
 Snow fun

Agenda

  • Snow shoveling
  • Work on methods


  cart before the horse

 Class 21 — March 4, 2013
 Being over methodical

Examples

Agenda

  • Problem solve
  • Understand method signatures and overloading
  • Work on methods
  • Prepare for recursion


  overloaded truck

 Class 20 — March 1, 2013
 Keep on trucking

Example

Agenda

  • Complete basic introduction to methods



  Seine river

 Class 19 — February 27, 2013
 A method to my saneness

Conceptions

Examples

Agenda

  • Understand method invocation process
  • Examine methods with reference parameters
  • Examine methods with control constructs

Slides

Videos


  method hand wash

  Class 18 — February 25, 2013
  Being methodical

Examples

Agenda

  • Method definitions and usage

Handout examples



 
  Stanislavski: method acting advocator

  Class 17 — February 22, 2013
  Method acting

Tell me about methods

Videos

Agenda

  • Preparing for the future

Readings for next time!!!!!

  • Sections 6.1 - 6.4


 
  i think i can

  Class 16 — February 20, 2013
  I know you can

Tell me again

Programming problems

Some web files

Copy and paste

Agenda

  • Show your accomplishments

Readings for next time!!!!!

  • Sections 6.1 - 6.4

1112 accomplishments


1112  know you can


  mad magazine iphone maps cover

  Class 15 — February 18, 2013
  Re-view

Examples

LutherVision

  • Decisions and iteration: Part 1
  • Decisions and iteration: Part 2

Agenda

  • Take stock of our accomplishments

  loop style fingerprint

  Class 14 — February 15, 2013
  Loop identification

Examples

Agenda

  • Show even more programming familiarity by being all you can be using control constructs




  giga rollercoaster of iowa

  Class 13 — February 13, 2013
  Loopy

Example

Agenda

  • Show even more programming familiarity by being all you can be using control constructs




  looper movie poster

  Class 12 — February 11, 2013
  Loop spelled backwards is polo

Examples

Tell me more

Video

Agenda

  • For general problem solving we also need the ability to control how often actions are to be performed (looping).

  • Like Java most programming languages supplies three differation iteration statements: while, for, and do while. We are concerned today with the while statement.

Vocabulary

  • loop, iteration, counter variable, index variable, end of data, end of file

Slides




  pondering shoes at startupremarkable.com/wp-content/uploads/2012/01/Decision.jpg

  Class 11 — February 11, 2013
  You decide

Examples

Sidebar

Tell me more

Videos

Change of plans

  • Test 1 will be Wednesday February 20, 2013

Agenda

  • Some problem solving requires the ability to react — depending upon the circumstances different conditions need actions to be performed.

  • Java provides several statements that support decision making. We begin by considering the if statement.

  • The if statement uses a logical test expression to determine which of two actions should be performed.

Vocabulary

  • straight-line, test expression, statement block, local variable

Next time

  • Sections 5.1 – 5.3 — iteration

For today



  Ivory Tirupati

  Class 10 — February 6, 2013
  Listing

Exercises

Tell me more

Videos

Agenda

  • Sometimes when problem solving we need to represent a collection/list of objects. To support such processing Java provides the Collections Framework.

  • The Collections Framework consists both of a rich set of list representations and an extensive set algorithms for manipulating lists.

  • We consider two of the more important list representations — the ArrayList and HashMap. They support respectively ordered lists and associative lists.

  • We also consider some Collection algorithms for list manipulation.

Readings for next time

  • Chapter 4.1 — 4.4.

  olivia newton-john album cover

  Class 9 — February 4, 2013
  Do you like surprises?

Downloads

Let's get quizzical

Art gallery

Agenda

  • Show basic programming familiarity

Previous judgings

Readings for next time

  • Chapters 3.



  wonder woman comic #1

  Class 8 — February 1, 2013
  String theory

Examples

Sidebar

Videos

Agenda

  • Gain familiarity with object manipulation using strings, colors, web pages, and windows as an exemplars

Readings for next time

  • Chapters 2 and 3.

Quiz

  • Complete and submit a program that correctly predicts the winner of this year's superbowl.

  • Program must be submitted by Noon Sunday February 3, 2013

Because we care

  • Take the the busy time survey to help me to decide what day to offer the first test.

Preparing for the future


  rod stewart album cover

  Class 7 — January 30, 2013
  Every picture tells a story

Examples

Sidebar

Jelly Bean Quiz

Agenda

  • Gain familiarity with object manipulation using graphics and files

Data files

Readings for next class

  • Section 3.2 – 3.4

Videos


 

  random numbers ala dilbert

  Class 6 — January 28, 2013
  Random kindness

Examples

Sidebar

Reading for next class

  • Section 3.6 – 3.8

Tell me more

Videos

Agenda

  • A major course goal is to enable you to develop your own problem solving-specific representations.

  • I believe to accomplish this goal you need background experiences on the mechanics of object construction and manipulation.

  • The way I recommend is that you use objects built from some of the standard resources that are already available. Out of your experiences can come an understanding and appreciation for the object-oriented approach.

  • We will begin with graphical elements for creating windows and drawing shapes

Ponder

  • While the expression 5 < 10 < 12 makes sense mathematically, it is not a legal Java expression. Why is that? Hint: look at the expression while being cognizant of operator precedence

 

  duck outside a window

 Class 5 — January 25, 2013
 Fearlessly we march on

Examples

Epistles

It's all about you

  • Please upload a photo of yourself suitable for anyone else to see. A passport-like photo will work best. 3.8

Readings for next class

  • Sections 3.1, 3.7 – 3.8

Agenda

Continue our exploration of the basics of problem solving — getting data, performing computation, and displaying information.

Along the way we will develop an appreciation

  • The java.lang class Math
  • Named constants
  • Expression evaluation and formulation
  • Operator precedence

Fun fact winners — there is a tie!

  • Anatidaephobia is the fear that somewhere in the world there is a duck watching you. (Emily Leivy)

  • President John Tyler was born during George Washington's presidency 222 years later, two of his grandchildren are still alive. Three generations of the Tyler family have lasted the entire history of the United States. (Kevin McNerney)

Fun fact I did not want to know

  • Three precent of all Antarctic ice is penguin urine. (Eric Bauer)

 

  jackalope

 Class 4 — January 23, 2013
 Hopping down the trail to computational  thinking

Examples

Even more examples for the interested student

Readings for next class

  • Complete Chapter 2

Epistles

Video

That's odd

Dana 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.

Agenda

Sophisticated 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.

  • Continue exploration of primitive types.
  • Introduce variables for naming locations in computer memory where values are stored.
  • Use definition statement to specify the name, type, and initial value associated with a variable.
  • Explore variable assignment.
  • Use Scanner to get input.
  • Practice program modification.


 

  congress

  Class 3 — January 18, 2013
 Representation without taxation

Examples

Readings for next class

  • Sections 2.1 – 2.7

Homework

Choo-choo

  • A model train is set up on a circular track. There are six telephone poles evenly spaced around the track. The train takes ten seconds to go from the first pole to the third pole. How long does it take to go all the away around? Why? [Based on an exercise from Crossing the river with dogs]

Agenda

  • Expand our communication skills;
  • Introduce the different types of basics values that Java provides (in programming speak they are called the primitive types);
  • Introduce the notion of operator precedence;
  • Develop an appreciation for writing readable programs.

We have a winner

Java is a drink,
Not a programming device.
Yet this class exists.

        — Molly Siebers, 2013



 


  grey's antomy

  Class 2 — January 16, 2013
 You'll only pass this way once

Today's artifacts

Future artifacts

Readings for next class

  • Sections 1.1 – 1.4, 2.1 – 2.4

Agenda

  • Convince everyone to become a computing major
  • Stand up the first time I say wahoo.
  • Introduce terminology to which you should become accustomed
    • Class
    • Method
    • Comment 
    • Whitespace
    • Keyword  
    • public
    • class
    • void
    • Statement
    • Semicolon
    • Library
    • System
    • Dot operator
    • System.out
    • println()
    • Literal
    • String[]
    • Identifiers
    • Translation
    • Interpretation


 
  movie poster the first day of the rest of your life

 Class 1 — January 14, 2013
 First day of the rest of your life

In the news

Agenda

  • Convince everyone to become a computing major

  • Appreciate the wisdom of the movie
         What about Bob?

  • Never, never, never click on this link!

  • Meet course personnel

  • Discuss syllabus and course mechanics

  • Ensure a Java SDK is installed on all Windows laptops
  • Download and submit a program

Java example

Readings for next class

  • Sections 1.1 – 1.4, 2.1 – 2.2.5

Haiku

  • Vote for the best haiku. Poll officially opens at 3:16 PM

How many jelly beans are there?

jelly bean jar

Job interview fun

  • Suppose a job interviewer hands you a two-armed balancing scale and a bag with fifteen coins that may or may not be of equal weight.
  • The interviewer goes on to tell you that it is known that fourteen of the coins do weigh the same.
  • The interviewer then asks for an algorithm that minimizes your use of the scale in determining whether the coins are of equal weight. And if they are not identical, to identify the different coin.
  • The interviewer also says that only the scale can be used in determining the solution.
  • What is your algorithm?


tom petty album cover

The waiting is the hardest part

Pledge

Readings

Practicing structured communication — haikuing

Software development