JAVA for Application Programmers (08-671)

This course provides an intensive exploration of computer programming in the Java Language for Masters students who have had some prior, but perhaps limited, programming experience in Java or in some other programming language. The course starts with a review of the fundamental topics of programming in Java (data types, operators, control structures) along with discussions of object oriented programming (classes, instances, and class hierarchies). After covering the basics, we move on using Java to cover simple graphical user interfaces (using Swing), file I/O, concurrency (i.e., threads), network I/O, simple data structures (lists and maps) and a brief introduction to functional programming. The course consists of two lectures per week and one recitation meeting per week.