Programming w/Data Structures

Advanced programming techniques in the Java language. Elementary techniques of software engineering: documentation, coding style, basic testing principles, and informal reasoning about correctness. The notion of an abstract data structure and various important data structures: stacks, queues, linked lists, tree-based structures, and hash tables. Use of object-oriented language constructs for encapsulation of data objects. Lecture, programming projects.

Programming w/Data Structures

Advanced programming techniques in the Java language. Elementary techniques of software engineering: documentation, coding style, basic testing principles, and informal reasoning about correctness. The notion of an abstract data structure and various important data structures: stacks, queues, linked lists, tree-based structures, and hash tables. Use of object-oriented language constructs for encapsulation of data objects. Lecture, programming projects.

Usability

In this course we examine the important problems in Usability, Human Computer Interaction, User Interfaces, and Human Centered Computing. We will examine elements of HCI history, understanding human capabilities, HCI design, several methods for prototyping user interfaces, and new applications and paradigms in human computer interaction.

Web Programming

The World Wide Web was proposed originally as a collection of static documents inter-connected by hyperlinks. Today, the web has grown into a rich platform, built on a variety of protocols, standards, and programming languages, that aims to replace many of the services traditionally provided by a desktop operating system. This course will study core technologies, concepts, and techniques behind the creation of modern web-based systems and applications.

Compiler Techniques

Basic problems in the translation of programming languages focusing on theory and common implementation techniques for compiling traditional (Pascal-like) programming languages to produce assembly or object code for typical machines. Involves a substantial laboratory project in which the student constructs a working compiler for a considerable subset of a realistic programming language within a provided skeleton.

Operating Systems

The design and operation of modern computer operating systems. Review of capabilities of typical computer hardware. Topics include command language interpreter (the shell), processes, concurrency, inter-process communication, linking and loading, memory management, transactions, file systems, distributed systems, security, and protection. Programming projects in Java and C.

Operating Systems

The design and operation of modern computer operating systems. Review of capabilities of typical computer hardware. Topics include command language interpreter (the shell), processes, concurrency, inter-process communication, linking and loading, memory management, transactions, file systems, distributed systems, security, and protection. Programming projects in Java and C.
Subscribe to