ITEC2150 Schedule Spring 2016

Section Links

Back to Section 02 (MWF 8:00a),  05 (MWF 11:00a)

Semester, by Week

Week 1 Introduction, Review, Objects

Announcements

Readings and Assignments

  • Get textbook
  • Review chapters 1-9
  • Up and Running with Eclipse tutorial on http://www.lynda.com (optional, highly encouraged
  • Review coding standards doc (OneDrive)
  • Assignment 1 (will work in class)
    • download processing IDE from processing.org
  • Assignment 2 (you will work independently)
  • Assignment 3 (you will work independently)

Topics

  • Syllabus
  • Course schedule
  • D2L layout
  • Coding standards review
  • Introductions
  • Teaching philosophy
    • Principle of least astonishment (description on wikipedia)
    • MIT’s Minsky — “learn something … many ways”
    • You can observe a lot by watching. … Yogi Berra
    • If you come to a fork in the road, take it. … Yogi Berra
  • Review
    • don’t forget to pseudo-code
    • don’t forget to frame the problem
    • don’t forget ‘incremental development’
  • OO Basics
    • methods and attributes
    • UML notation
    • Processing — Bouncing ball walkthrough
    • Basics, OO
    • modifying the sample
    • Processing’s samples
    • event driven programming
  • Chapter 10 (PPT – on your own)

Week 2 Thinking in Objects

Announcements

  • Wiki Review
  • Consider subscribing to Help!/I have a question … discussion
  • Register for MyProgrammingLab (MPL)
  • Accessing lynda.com remotely
  • Tutoring (check class home page for details)
  • Assignment 3 Questions?
  • Assignment 4
    • Download / play prior to class Jan 22nd

Readings and Assignments

  • Chapter 10
    • Skip Sections 10.9 (Stack of Integers), 10.10 (GuessDate), 10.14 (BigInteger, BigDecimal)
  • Chapter 10 VideoNotes (optional)
    • Key Concept 1: The Loan Class (Section 10.5)
    • Key Concept 2: The BMI Class (Section 10.6)
    • Key Concept 4: Thinking in Objects (Sections 10.2-10.4)
    • Key Concept 3: The StackOfInteger Class (Section 10.9)
  • Formal UML Specs (worth skimming, focus on class diagrams)
  • Assignment 4
  • Assignment 5

Topics

  • How many classes in java? link
  • Timeline for java releases link
  • Exploit ‘HelloWorld’
    • write yourself a standalone test case
  • Elegant Code (or not!) example
  • Chapter 10 Walkthroughs
    • thinking in objects
    • abstraction and encapsulation
    • associations, aggregations and compositions
    • Strings: immutability, interned, replaceFirst(), replaceAll(), match(), split()
    • http://regexpal.com
    • StringBuilder, StringBuffer

 

Week 3 Inheritance and Polymorphism 1 of 2

Announcements

  • Grades and attendance not up to date
  • MPL check
  • If you struggle with MPL, check out the student tutorial under ‘Help’
  • Survey
  • Assignment 2 solution to be posted
  • DM lab hours
    • Monday 2:00pm to 4:30pm
    • Tuesday 10:00am to 3:00pm
    • Wednesday 9:00am to 2:00pm 3:00pm to 6:00pm
    • Thursday 10:00am to 3:00pm
    • Friday 10:00am to 3:00pm
  • Tutoring
    • Thursday 10-11:30a
  • Register for Computational Thinking Webinar

Readings and Assignments

  • Chapter 11
    • Chapter 11 (9th and 10th editions)
    • Chapter 11 VideoNotes (optional)
      • Key Concept 1: Geometric Class Hierarchy (Figure 11.1)
      • Key Concept 2: Polymorphism and Dynamic Binding Demo (Listing 11.6)
      • Key Concept 3: The ArrayList Class (Section 11.11)
      • EOC Homework Problem: The MyStack Class (Exercise 11.4, on your own)
    • Assignment 6 – Chapter 11 MPLs

Topics

  • UML / Rogue recap
  • Several discussions here, note different styles of class diagrams
  • A decent implementation zipped file (about 8k lines of code, about 25 classes)
  • ObjectAid Eclipse plugin (demo/illustrate, installation instructions at objectaid.com))
  • Formal UML Specs
  • UML diagrams
  • Regex recap
  • Chapter 10 (continued)
  • String methods, split(), match(), interned Strings, immutable
  • Associations/Aggregations/Compositions
  • Coupling/cohesion
    • freezing / paralysis example
  • Chapter 11 (ppt, Week3 folder)
  • Assignment 2 solutions recap

Week 4 Inheritance and Polymorphism 2 of 2

Announcements

  • Grades and attendance are not caught up
  • Guidelines for tests and quizzes
  • Wednesday Feb 17th Alternative
    • Will not meet in the classroom
    • Pick from: IT Tech Talk (Weds 6:30p Feb 10th, sign in!) or ACM Computational Thinking Webinar/Talk (Complete in Class Dropbox)
  • Quiz Weds

Readings and Assignments

  • Nice example of eclipse debugger walkthrough, including variables watches video (optional, about 16 mins.)
  • Assignment 7 – Grizzly Rogue

Topics

  • Inheritance and polymorphism — examples and  the caveats
  • Circles, Rectangles, Shape and Ring
  • Grizzly Rogue

Week 5 Exception Handling and Text I/O

Announcements

  • Grading and attendance is up to date
  • Report to DM Lab Feb 19th, Also check D2L News
  • Wednesday Feb 17th Alternative
    • Will not meet in the classroom
    • Pick from: IT Tech Talk (Weds 6:30p Feb 10th, sign in!) or ACM Computational Thinking Webinar/Talk (Complete in Class Dropbox or try this)

Readings and Assignments

  • Chapter 12
  • Assignment 8 – Tech Talk or Computational Thinking Webinar
  • Assignment 9 – CSV to PPM

Topics

  • Quiz Ch 10/11
  • Exam 1
    • 55% take home concept
    • 45% coding, worked in class
      • one problem from review, one – two problems from CH 10-11 and/or processing
  • Chapter 12 – Exceptions and File IO

AnnouncementsWeek 6 Abstract Classes and Interfaces 1 of 2

Announcements

Readings and Assignments

  • Chapter 12
  • Assignment 10 Leap Motion

Topics

  • IT Tech Talk or Computational Thinking Webinar
  • Leap Motion

Week 7 Abstract Classes and Interfaces 2 of 2

Announcements

  • Grading and attendance ARE up to date, except for Leap Assignments
  • DM Lab Hours

Readings and Assignments

  • Chapter 13 (for next week)
  • Assignment 9

Topics

  • Exam 1 recap
  • Chapter 12 – Exceptions and File IO
    • Call early, catch late
    • File-based and Web-based IO
    • Custom exceptions
  • Abstraction
    • Abstraction
    • Interfaces
  • The Comparable interface

Week 8 Recursion 1 of 2

Announcements

Readings and Assignments

  • Chapter 18

Topics

Week 9 Recursion 2 of 2

Announcements

  • Grading and attendance are not up to date
  • Exam 2 Apr 1st or Apr 4th Tentatively

Readings and Assignments

  • Chapter 18
  • Chapter 19 (for next week)
  • Assignment 12 (fractal circles — in class)
  • Assignment 13 (Ch 18 MPLs)

Topics

  • Recursion
  • Multiple Recursion
  • Fractals
  • Recursion v. Iteration
  • ‘Helper’ Methods
  • Walk Through Palindrome Example
  • Towers of Hanoi
  • Tail Recursion
  • CLI (time permitting)
  • Selection Sort, Binary Recursion (time permitting)

Week 10 Generics

Announcements

  • Exam 2 April 4th or April  6th, Tentatively
  • A rational discussion about wildcards, bounds, extends and super here

Readings and Assignments

  • Chapter 19
  • Assignment 14,15 – TBD

Topics

  • Recursion Wrap Up
  • CLI Walkthrough
  •  Generics
    • History
    • Motivation
    • What’s Permitted (polymorphism-wise)
    • What’s Not Permitted (Using inheritance with parametric types)
    • Building a Parameterized Class (GGCStack example walkthrough, aka the Pez dispenser)
    • Generics and Methods
    • Wildcards
    • Type Erasure and its implications

Week 11 Lists, Stacks, Queues and Priority Queues

Announcements

Readings and Assignments

  • Chapter 20
  • Assignment 14 – CLI
  • Assignment 15 – Generics Problem

Topics

  • Exam 2 (tentatively)

Week 12 Sorting

Announcements

  • Attendance up to date
  • Grading not up to date
  • In class exam, Monday, April 11th
  • Concept / take home
    • posted Friday, due Weds April 13th
    • note: no late submissions

Readings and Assignments

  • Chapter 23
  • Assignment 16 — TBD

Topics

  • Collections.sort and using your own Comparator
  • Sorting
    • Selection Sort
    • Insertion
    • Bubble
    • ….
  • Exam 2

Week 13 Sorting 2 of 2

Announcements

Attendance and grading are up to date

Readings and Assignments

  • Chapter 23
  • Assignment 16 – Comparison of Sorting Algorithms
  • Assignment 17
    • Developing Android Apps Essential Training (required)
      • Introduction, Chapters 1-6
    • Android Studio Essential Training (optional)
      • Introduction, Chapters 1-5

Topics

Week 14/15 Special Topics and Wrap Up

Announcements

  • Concept Portion (Take Home) of Final Posted

Readings and Assignments

  • Grizzly Events Assignment
  • Muse Android Assignment

Topics

  • Garbage Collection
  • Enum
    • Built in Java 8 DayOfWeek : https://docs.oracle.com/javase/tutorial/datetime/iso/enum.html
    • examples: http://www.javapractices.com/topic/TopicAction.do?Id=1

Week 16 Final Exams

  • Section 02 Wednesday, May 4, 8am B1100
  • Section 05 Wednesday, May 4, 11am, A1930

Important GGC Dates

See GGC’s Academic Calendar