Syllabus: Course Overview

 

Text sections

Class sessions

Assignments

None

1

 

Outline

  • Instructors: see web page

  • Goals and Content

    • Learn and use software engineering principles
      • Think first
      • Abstraction centered design
      • Plan for change
      • Exploit tools and libraries
    • Learn interface and implementation of data structures
      • Collections of object in general
      • Lists: singly- and doubly-linked
      • Stacks
      • Queues
      • Trees
      • Sets, Maps, Hash tables
      • Balanced trees
    • Learn a range of standard algorithms and applcations of data structures
      • Searching
        • Binary search in arrays
        • Binary (and other) search trees
        • Hash tables
      • Sorting
        • Selection sort
        • Bubble sort
        • Insertion sort
        • Shell sort
        • Merge sort
        • Heapsort
        • Quicksort
      • Priority queues and heaps
    • Build programming skills
      • Use (some) features new to Java 5.0
      • Use Java class libraries
      • Solve a number of programming problems
      • Use a Java integrated development environment
      • Use and build class hierarchies
  • Prerequisities

    • Good performance in suitable offering of 121 or 123
    • Screening interview
    • Strong Java programming skills at 121/123 level
    • Basic math and reasoning skills at college level
  • Format

    • Lectures
    • Discussions
    • Assignments
    • Mid-term evening exam
    • Final exam
  • Text: see home page

  • Resources

  • Expectations

    • Reading
    • Assignments, exams
    • Participation: attendance, asking/answering questions
    • Timeliness
  • Policies

    • Honesty policy
    • Late work policy
  • Schedule: see web page

  • Educational lab

  • WebCT

  • Warm-up assignment