CSIS10B  Programming Methods II: Java

Spring 2015 Grades

Time:  Mon/Wed 3:00-5:15 PM  Room:  BMC 205    Section: 5057   Units: 4

Instructor:  Tom Rebold   Office: BMC-202B   Contact: trebold(a)mpc(.)edu   645-1327

Office Hours: M/W 5:30 - 6:30, T/Th 12 noon - 1 pm in BMC202B, Friday 3-4 in PS103 (and online)

Class website: 
 www.tomrebold.com/csis10b       Turn in your work: here       Check uploads: here

Discussion board: for posting questions and suggestions (not solutions!) here

Text:    Carrano, Data Structures and Abstractions with Java, 3rd edition, 2012
             ISBN 9780136100911. Available in electronic form at: coursesmart.com
             Why you should get (and read) the text   (One copy is on reserve at MPC library)

Course description:  

    Advanced Java programming experience covering design, implementation, and manipulation of data structures: arrays, strings, linked lists, stacks, queues, trees, sorting, and searching and hashing. Significant project required.

Prerequisite: CSIS 10A    Advisories: ENGL 1A, MATH 40

Student Learning Outcome:

Students will be able to implement an abstract data type and use it in a programming solution.

Objectives: Students will be able to:

Upon satisfactory completion of this course, students will have demonstrated the ability to:

Pair Programming: All labs will be done with a partner. See video for more info.

Accommodations:  If you need accommodations or have a disability, please talk with me for arrangements.

Schedule:

  Lecture Assess Video Reading Lab Assignment
& Quiz
2/2
2/5
Java Review -- Basics    
Defining a class                               Define class: CSIS10A Lec 11
1 video
video
Appendix A
Appendix B
Lab1
   download
Assignment1
  download solns
2/9
2/11
Using Bags; Generics and Inheritance   OOP: CSIS10A Lec 15
Using Stacks; Interfaces                   
2 video
video
Ch 1, App C
Ch 5, App D
Lab2
   download
 
2/16
2/18
Holiday 
Arrays and Linked Nodes  
3
video

App A, Ch 3
Lab3
   download

Quiz 1 (Wed)
2/23
2/25
Using Queues                                  Queue       
Using Lists; Files and Exceptions         List
4 video
video
Ch 10, App E
Ch 12, App F
Lab4
   download
Assignment2
  download
solns
3/2
3/4
Polymorphism, Finish labs 1-4
Test 1    Practice  Solutions   S15 SOLNS
  video

   
3/9
3/11
Making an Array Bag, Assert    
Making an Array List
5 video
video
Ch 2
Ch 13
Lab5
   download
 
3/16
3/18
Making a Linked Bag
Making a Linked List
6 video
video
Ch 3  
Ch 14
Lab6
   download
Assignment3
  download
solns
3/23
3/25
Algorithm Efficiency   Sedgewick
Basic Sorting            Sedgewick
7 video
video
Ch 4
Ch 8
Lab7
   download
 
3/30
4/1
SPRING BREAK          
4/6
4/8
Recursion
Advanced Sorting (MergeSort)(QuickSort)
8 video
video
Ch 7
Ch 9
Lab8
   download
               
Quiz 2 (Wed)
4/13
4/15
Review   CodingBatLists
Test 2 
Practice  Solutions  S15 SOLNS    
  video


  Assignment4
  download
solns
4/20
4/22
Iterators
Sorted List
9 video
video
Ch 15
Ch 16
Lab9
   download
Final Project
4/27
4/29
Dictionaries and Implementations
Hashing and Dictionaries
10 video
video
Ch 19, 20
Ch 21, 22
Lab10
   download
Quiz 3
5/4
5/6

Trees, Expression Trees
Binary Search Trees

11 video
video
Ch 23, 24
Ch 25
Lab11
   download
 
5/11
5/13
Heaps & Priority Queues

12 video

Ch 26
Lab12
   download
 video
Quiz 4
5/18
5/20
Graphs (pdf) Implementations

  video
video
Ch 28,29

Lab13
   download
 
5/25
5/27
Work on Final Project
Review1 SOLNS1
Review2 SOLNS2  SimpleBST.zip
  video

  Quiz 5
6/3 Final Exam (Wed) 
CodingBatListsTrees
CodingBatFinal
         

Resources:

Attendance: 

If you decide to drop, to avoid getting an F, please remember to remove yourself from the class using webreg. I often drop people who haven't participated in over a week, but please don't count on that!

Class Work:

Weekly Online Assessments
Weekly "Pair Programming" labs
4 extended assignments
5 quizzes
2 Tests @ 20% each
Final Project
Final Exam
5%
5%
10%
5%
40%
10%
25%

Grades will be based on the following curve:
            A - 90%  
            B - 80%
            C - 65%
           
D - 50% 

Homework Grading:

Each week there will be a number of textbook based and programming activities for you to solve outside of class. When you are finished, make a jar of your assignment folder, then upload it to the class website and print a copy to hand in. Your assignment grades will be based on the following rubric:

Assignment Success Score
   (0 to 10 pts.) Proportion of problems solved
   (plus 1 pt for extra work)

Deductions
   (1/2 pt.) Lack of meaningful names used in declarations
   (1/2 pt.) Lack of informative comments
   (1/2 pt.) Poor or inconsistent formatting
   (1/2 pt.) Poor choice of Java commands
   (1/2 pt.) Improperly constructed .jar file

No points can be given for late assigments.

Important Note on Academic Honesty

Working with others on assignments is a good way to learn the material and is encouraged. However, please do not think you can turn in someone else's work and get credit for it. If you fall behind in class you may request an extension provided you have an approved and documented reason for your absence, such as illness, work or family emergency. If you are asked by someone in class for your solutions, be aware that both the provider and the receiver are given zero points for the work involved and, if necessary, may be sent to the Dean of Students for a conversation about their status at MPC.