Computer Science 86
Object-Oriented Programming
for Graphical User Interfaces
Fall, 2018
Syllabus


Instructor
Robert J.K. Jacob
Dept. of Computer Science
Halligan Hall
http://www.cs.tufts.edu/~jacob/
Textbooks and readings

Sun/Oracle Java tutorial, available at http://download.oracle.com/javase/tutorial/index.html

Dennis Kafura, Object-oriented Software Design and Construction with Java, Prentice Hall (Chapters 1-9), available at http://ei.cs.vt.edu/~kafura/java/

Marijn Haverbeke, Eloquent JavaScript, available at http://eloquentjavascript.net/index.html (also available as a hardcopy book ISBN 1-5932-7584-6)

WWW Page
http://www.cs.tufts.edu/~jacob/86/
Course Work
Course work will mainly consist of fairly intensive programming projects, some in-class work sessions, and presentations/demos.

Programming will mainly be in Java, using the Swing toolkit, as well as Javascript and Python later in the course.

Grading
Based mainly on programming projects, also on presentations/demos and in-class labs.
Prerequisite
Computer Science 15.
Topic Outline and Assignments

Concepts of Object-oriented Programming

Java Syntax and Usage

Introduction to Graphical User Interface (GUI) Programming

GUI Implementation with Java and Swing

Software Design for GUIs

Object-Oriented Design

Javascript and Browser Interfaces

Non-WIMP Interaction Styles

3D Graphics

Additional Java Topics

Python

Object-oriented Programming Concepts in Other Languages