Computer Science 86
Object-Oriented Programming
for Graphical User Interfaces
Fall, 2017
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, presentations/demos, and possibly exams.

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

Grading
Based mainly on programming projects, also possibly presentations, exams, and class work.
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

Object-oriented Programming Concepts in Other Languages