Computer Literacy

How computers can help solve problems efficiently and effectively. Broad introduction to hardware and software aspects of microcomputers. Four application areas: word processing, spreadsheets, databases, and telecommunications (access to the Internet). Students more interested in programming should take CMPSCI 121. Prerequisites: reasonable high school math skills. Typing ability an important asset. (Gen.Ed. R2)

Computer Literacy

How computers can help solve problems efficiently and effectively. Broad introduction to hardware and software aspects of microcomputers. Four application areas: word processing, spreadsheets, databases, and telecommunications (access to the Internet). Students more interested in programming should take CMPSCI 121. Prerequisites: reasonable high school math skills. Typing ability an important asset. (Gen.Ed. R2)

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.
Subscribe to