15-111 - Dave's Sections

Announcements

  • Please complete the online course evaluation as soon as possible. Thanks!

  • 15-111 Final Exam: Tue. December 16 01:00p.m.-04:00p.m. McCONOMY

  • You will be given the following reference material during the final exam: FinalExamReference.pdf
    Please familiarize yourself with this document before the final.

  • Here are some coding questions you might use as practice for the final: FinalExamPractice.pdf
    Note: Some methods I asked you to write recursively were pretty ugly, so I have revised the document to include better practice with recursion.
    Here's my attempt at solutions: FinalExamPractice.java.

  • Simon will be holding a review session at 1pm on Sunday, December 14th in Wean 5320.
    Please come prepared with questions.

  • Major Final Exam Topics
    • arrays (including 2D)
    • using ArrayList and LinkedList
    • big O (general idea, runtimes of important algorithms, but not finding constants c and n0)
    • linked lists (single/double/circular)
    • stacks/queues (using them, and implementing with arrays and linked lists)
    • recursion
    • binary trees (including traversals, and deleting using the inorder predecessor/successor)
    • sorting (selection, insertion, merge, and bucket--no other sorts)
    • Set/Map/HashSet/HashMap (not TreeSet/TreeMap)
    Other Final Exam Topics
    • chars and strings
    • inheritance, interfaces, abstract classes (mainly using and implementing interfaces)
    • iterators (using them, using enhanced for-leach loops, but not implementing Iterators, and not Iterable.)
    • Comparable/Comparator
    • heaps
    • hashing
    Not Tested
    • Scanner, file input/output
    • Javadoc
    • cloning
    • graphs

Contents


Course Description

15-111 Intermediate/Advanced Programming
A continuation of the process of program design and analysis for students with some prior programming experience (functions, loops, and arrays, not necessarily in Java). The course reinforces object-oriented programming techniques in Java, covers data structures, and introduces the analysis of algorithms that operate on those data structures.
Prerequisite: 15-100

Instructor

Dave Feinberg
Andrew ID: fberg
Office: Wean 5215 (down 5100 corridor and turn right)
Office Hours: as listed below, or by appointment, or just show up

Sections

Section Mon/Wed/Fri Lecture Thu Recitation Course Assistant
I 9:30am 5419B 8:30am 5419D Cristina Birkel (cbirkel)
Irina Calciu (icalciu)
J 11:30am 5419D 11:30am 5419C Kempy (ekemp)
K 1:30pm 5419A 12:30pm 5419C Simon Markowski (smarkows)

Office Hours

All rooms listed below are in Wean Hall.
DayTimeRoomCA / Instructor
Sun7 - 9pm5419Simon
Mon2:30 - 4:30pm5207Kempy
Mon7 - 9pm5419Simon
Tue1:30 - 3:30pm5215Dave
Tue5:30 - 6:30pm5419Cristina
Thu4:30 - 5:30pm5419Irina
Thu5:30 - 6:30pm5419Cristina

Homework - Programming Assignments

AssignmentDeadline
Homework #1Tues, Sept 2
Homework #2Mon, Sept 8
Homework #3Tue, Sept 16
Homework #4Mon, Sept 29
Homework #5Mon, Oct 6
Homework #6Wed, Oct 15
Homework #7Mon, Oct 27
Homework #8Mon, Nov 3
Homework #9Mon, Nov 17
Homework #10Tue, Dec 2

Recitation Exercises

RecitationDate
Recitation #0Aug 28
Recitation #1Sept 4
Recitation #2Sept 11
Recitation #3Sept 18
Recitation #4Sept 25
Recitation #5Oct 2
Recitation #6Oct 16
Recitation #7Oct 23
Recitation #8Oct 30
Recitation #9Nov 13
Recitation #10Nov 20

Electronic Hand-In

You must submit all work on programming assignments and recitation exercises using the following electronic hand-in procedure. Do not try to submit your work through email, as it will not be graded.
  1. When you have completed a programming assignment or recitation exercises, create a .zip containing (1) all the .java files needed to compile your program (including .java files that you downloaded for the project but did not modify), and (2) a plain-text ASCII .txt file (not .doc or .rtf) containing the answers to any written problems given in the assignment (if any). Your .zip file should not contain any subfolders. (In other words, when you open the .zip file, you should immediately see all of the .java files and .txt files.)
  2. Submit your .zip file here.

References


Lecture Notes


Grades

Component Weight Details
Pop Quizzes In Lecture 5% will drop lowest quiz
no makeups
Recitation Exercises 5% must attend to earn credit
Programming Assignments 25% must be submitted online by 11:59PM or will not be graded
late credit policy
3 Written (Offline) Exams 30% no dropped exams
no makeups
3 Programming (Online) Exams 15% no dropped exams
no makeups
Final Exam 20% doom!

Collaboration


Java Version

We are using Java JDK 5.0 (also known as 1.5).

Development Environments

Use whatever you like. Here are some you might consider.

Software Platform License Description
TextWrangler Mac free minimal: text editor with syntax highlighting and indenting
compile/run from Terminal
TextPad PC free to try minimal: text editor with syntax highlighting and indenting
compile with ctrl-1, run with ctrl-2
BlueJ any free easy but quirky environment aimed at beginners
Eclipse any free heavyweight feature-rich environment used by professionals