CRN

94332

Distribution

E/G /*(Math/Computing)

Course No.

CMSC 141 Q course

Title

Computer Science I

Professor

Robert McGrail

Schedule

Wed Fr 10:00 am - 12:00 pm ALBEE 100 / 106

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

94333

Distribution

E/G /*(Math/Computing)

Course No.

CMSC 243 Q course

Title

Functional Programming

Professor

Rebecca Thomas

Schedule

Mon Fr 1:00 pm - 3:00 pm ALBEE 100

This course introduces students to the functional programming paradigm. Topics include recursion, recursively defined data types, and first-class functions. The course will also introduce some basic programming techniques from artificial intelligence, including blind and heuristic search algorithms.

Prerequisite: CMSC 141

 

CRN

94334

Distribution

E/G /*(Math/Computing)

Course No.

CMSC 351 Q course

Title

Artificial Intelligence

Professor

Rebecca Thomas

Schedule

Mon 3:00 pm 4:20 pm OLIN 309

Fr 3:00 pm 4:20 pm ALBEE 106

LAB: Wed 1:30 pm - 4:30 pm ALBEE 100

This course provides a broad introduction to topics in artificial intelligence, including knowledge representation and reasoning, planning and problem solving, and machine learning. Advanced

topics may include natural language processing, multi-agent systems, image processing, or other topics of the instructor's choice.

Prerequisite: Computer Science 142.

 

CRN

94335

Distribution

E/G /*(Math/Computing)

Course No.

CMSC 425 Q course

Title

Compiler Design

Professor

Robert McGrail

Schedule

Mon Fr 8:30 am - 9:50 am ALBEE 106

LAB A: Th 9:00 am - 12:00 pm ALBEE 100

LAB B: Th 1:30 pm - 4:30 pm ALBEE 100

An introduction to the process of writing a language translator. Topics include lexical analysis, parsing, syntax-directed translation, optimization, and code generation. Students complete a project involving design and implementation of a compiler for a simple high-level programming language.

Prerequisites: Computer Science 305, and CMSC 311 or 312.