COMPUTER SCIENCE

CRN

12316

Distribution

E

Course No.

CMSC 103 Q course

Title

Great Ideas in Computer Science (and How They Make the Internet Work)

Professor

Rebecca Thomas

Schedule

Tu Th 10:00 am - 11:20 am HEG 300

This course will examine several fundamental ideas from computer science, beginning with the binary representation of data (numbers, characters, images) and manipulation of these data. We will study some of the big ideas that enable the current sophistication of computing, including the von Neumann stored-program architecture, the use of automatic translators for programming languages, and the utility of switching among multiple levels of abstraction. We will study the basics of programming, and the course will include some simple programming assignments. By the end of the course, we will have enough basic understanding to explore some of the technologies that underlie the internet.

Prerequisite: Eligibility for Q courses

CRN

12178

Distribution

E/G

Course No.

CMSC 141 Q course

Title

Computer Science I

Professor

Rebecca Thomas

Schedule

Tu Th 1:30 pm - 2:50 pm HDR 101A

This course will introduce the notion of a computational process as well as the idea of a program as a director of such processes. The study of problem-solving techniques and algorithm development will prepare students to apply the syntax and structure of a programming language to a variety of problem statements. The course will include regular programming assignments as well as a programming project.

Prerequisite: Eligibility for Q courses.

CRN

12179

Distribution

E/G

Course No.

CMSC 142 Q course

Title

Computer Science II

Professor

Robert McGrail

Schedule

Tu Th 8:30 am - 9:50 am HDR 101A

This course is a continuation of Computer Science 141. Elementary data structures, such as lists, records, and trees, will be discussed, as will the essentials of sorting algorithms and algorithm analysis. The inclusion of other topics such as error handling and other control features will be subject to instructor whim.

Prerequisite: Computer Science 141 or its equivalent.

Corequisite: Mathematics 111.

CRN

12199

Distribution

E/G

Course No.

CMSC 201 Q course

Title

Computer Science III

Professor

Rebecca Thomas

Schedule

Mon Wed 1:30 pm - 2:50 pm ROSE 113

This course covers the implementation and use of advanced data structures such as stacks, queues, hash tables, binary search trees, sets, and graphs via an object-oriented programming language.

Prerequisite: Computer Science 142.

CRN

12180

Distribution

E/G

Course No.

CMSC 225 Q course

Title

Computer Architecture

Professor

Robert McGrail

Schedule

Mon Wed 10:00 am - 11:20 am HEG 107

This course is an introduction to the structure and operation of a modern computer architecture. Topics will include instruction sets, pipelining, instruction-level parallelism, caches, memory hierarchies, storage systems and multiprocessors. Assembly language programming will be used to demonstrate the concepts.

Prerequisites: Computer Science 201 with Physics 212 strongly recommended.

CRN

12304

Distribution

E/G

Course No.

CMSC 312 Q course

Title

Theory of Computation

Professor

Robert McGrail

Schedule

Tu Th 3:00 pm - 4:20 pm ROSE 113

The course will introduce several computational models that have been developed to formalize the notion of an algorithm. It will also discuss in detail several of the primary topics in the theory of computation including the theory of recursive functions, Turing machines, and several undecidable problems such as the Halting problem.

Prerequisites:Computer Science 301 and Mathematics 231/235.