UMassCS Logo Donate to CS

Course Descriptions


CMPSCI 121(CPE): Introduction to Problem Solving with Computers (R2)

Professor: Moll

CMPSCI 121 provides an introduction to problem solving and computer programming using the programming language Java; it also provides an integrated introduction to some of the wonderful innovations to modern science and indeed modern life that can be attributed to computer science. The course teaches how real-world problems can be solved computationally using the object-oriented metaphor that underlies Java. Concepts and techniques covered include data types, expressions, objects, methods, top-down program design, program testing and debugging, state representation, interactive programs, data abstraction, conditionals, iteration, interfaces, inheritance, arrays, graphics, and GUIs. No previous programming experience required. This can be a challenging course. If you prefer a more modest introduction to computing, you should consider CMPSCI 191P (Introduction to Programming with Python), which however is only offered during the academic school year and is not offered online. CMPSCI 121 is taught using a free online interactive textbook, which is ideal for the distance-learning format of this course. Computer use is of course required for this class. Prerequisite: R1 (basic math skills). 4 credits.

CMPSCI 187(CPE): Programming with Data Structures (R2)

Professor: Richards

The course introduces and develops methods for designing and implementing abstract data types using the Java programming language. The main focus is on how to build and encapsulate data objects and their associated operations. Specific topics include linked structures, recursive structures and algorithms, binary trees, balanced trees, and hash tables. These topics are fundamental to programming and are essential to other courses in computer science. There will be weekly assignments and assignments in discussion sections consisting of programming and written exercises. There will also be several exams. Prerequisites: CMPSCI 121 (or equivalent Java experience) and Basic Math Skills (R1). Basic Java language concepts are introduced quickly; if unsure of background, contact instructor. 4 credits.

CMPSCI 390WP(CPE): Web Programming

Professor: Richards

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. Topics will include: producing dynamic content using a server-based language, content serving databases and XML documents, session state management, multi-tier web-based architectures, web security, and core technologies including HTTP, HTML5, CSS, JavaScript, and SQL will be emphasized. This course will also study concepts and technologies including AJAX, social networking, mashups, JavaScript libraries (e.g., jQuery), and web security. This course is hands-on and project-based; students will construct a substantial dynamic web application based on the concepts, technologies, and techniques presented during lecture. Prerequisites: CMPSCI 187 or ECE 242. This course is for CMPSCI minors and majors and counts as a CS Elective toward the major. 3 credits.

CMPSCI 899(CPE): PhD Dissertation

Professor: Staff

Last automatic generation: 5/14/2012 at 10:01:21 AM