middCourses
Data Structures
CSCI 0201

Data Structures In this course we will study the ideas and structures helpful in designing algorithms and writing programs for solving large, complex problems. The Java programming language and object-oriented paradigm are introduced in the context of important abstract data types (ADTs) such as stacks, queues, trees, and graphs. We will study efficient implementations of these ADTs, and learn classic algorithms to manipulate these structures for tasks such as sorting and searching. Prior programming experience is expected, but prior familiarity with the Java programming language is not assumed. (CSCI 0145 or CSCI 0146 or CSCI 0150)

4 reviewsS25
Theory of Computation
CSCI 0301

Theory of Computation This course explores the nature of computation and what it means to compute. We study important models of computation (finite automata, push-down automata, and Turing machines) and investigate their fundamental computational power. We examine various problems and try to determine the computational power needed to solve them. Topics include deterministic versus non-deterministic computation, and a theoretical basis for the study of NP-completeness.

4 reviewsF24
Theory of Computation
CSCI 0301

Theory of Computation This course explores the nature of computation and what it means to compute. We study important models of computation (finite automata, push-down automata, and Turing machines) and investigate their fundamental computational power. We examine various problems and try to determine the computational power needed to solve them. Topics include deterministic versus non-deterministic computation, and a theoretical basis for the study of NP-completeness.

8 reviewsS24
Data Structures
CSCI 0201

Data Structures In this course we will study the ideas and structures helpful in designing algorithms and writing programs for solving large, complex problems. The Java programming language and object-oriented paradigm are introduced in the context of important abstract data types (ADTs) such as stacks, queues, trees, and graphs. We will study efficient implementations of these ADTs, and learn classic algorithms to manipulate these structures for tasks such as sorting and searching. Prior programming experience is expected, but prior familiarity with the Java programming language is not assumed. (CSCI 0145 or CSCI 0146 or CSCI 0150)

11 reviewsF23
Data Structures
CSCI 0201

Data Structures In this course we will study the ideas and structures helpful in designing algorithms and writing programs for solving large, complex problems. The Java programming language and object-oriented paradigm are introduced in the context of important abstract data types (ADTs) such as stacks, queues, trees, and graphs. We will study efficient implementations of these ADTs, and learn classic algorithms to manipulate these structures for tasks such as sorting and searching. Prior programming experience is expected, but prior familiarity with the Java programming language is not assumed. (CSCI 0145 or CSCI 0146 or CSCI 0150)

16 reviewsS23
Data Structures
CSCI 0201

Data Structures In this course we will study the ideas and structures helpful in designing algorithms and writing programs for solving large, complex problems. The Java programming language and object-oriented paradigm are introduced in the context of important abstract data types (ADTs) such as stacks, queues, trees, and graphs. We will study efficient implementations of these ADTs, and learn classic algorithms to manipulate these structures for tasks such as sorting and searching. Prior programming experience is expected, but prior familiarity with the Java programming language is not assumed. (CSCI 0145 or CSCI 0146 or CSCI 0150)

14 reviewsF22
Computing for the Sciences
CSCI 0150

Computing for the Sciences In this course we will provide an introduction to the field of computer science geared towards students interested in mathematics and the natural sciences. We will study problem-solving approaches and computational techniques utilized in a variety of domains including biology, chemistry, physics, and engineering. Students will learn how to program in Python and other languages, how to extract information from large data sets, and how to utilize a variety of tools employed in scientific computation. The course has no prerequisites and assumes no prior experience with programming or computer science.

2 reviewsS22
Theory of Computation
CSCI 0301

Theory of Computation This course explores the nature of computation and what it means to compute. We study important models of computation (finite automata, push-down automata, and Turing machines) and investigate their fundamental computational power. We examine various problems and try to determine the computational power needed to solve them. Topics include deterministic versus non-deterministic computation, and a theoretical basis for the study of NP-completeness.

2 reviewsS22
Computing for the Sciences
CSCI 0150

Computing for the Sciences In this course we will provide an introduction to the field of computer science geared towards students interested in mathematics and the natural sciences. We will study problem-solving approaches and computational techniques utilized in a variety of domains including biology, chemistry, physics, and engineering. Students will learn how to program in Python and other languages, how to extract information from large data sets, and how to utilize a variety of tools employed in scientific computation. The course has no prerequisites and assumes no prior experience with programming or computer science.

2 reviewsF21
Theory of Computation
CSCI 0301

Theory of Computation This course explores the nature of computation and what it means to compute. We study important models of computation (finite automata, push-down automata, and Turing machines) and investigate their fundamental computational power. We examine various problems and try to determine the computational power needed to solve them. Topics include deterministic versus non-deterministic computation, and a theoretical basis for the study of NP-completeness.

4 reviewsF21
Computing for the Sciences
CSCI 0150

Computing for the Sciences In this course we will provide an introduction to the field of computer science geared towards students interested in mathematics and the natural sciences. We will study problem-solving approaches and computational techniques utilized in a variety of domains including biology, chemistry, physics, and engineering. Students will learn how to program in Python and other languages, how to extract information from large data sets, and how to utilize a variety of tools employed in scientific computation. The course has no prerequisites and assumes no prior experience with programming or computer science.

3 reviewsS21
CSCI0201last month

Professor Briggs is not the most engaging lecturer, but she does a solid job of clearly explaining the fundamentals of data structures and algorithms. This course is essential for every computer science major student at any institution. Taking it with Professor Briggs is a decent experience overall. Expect weekly labs and programming assignments, along with a midterm and a final exam.

Professor Briggs is not the most engaging lecturer, but she does a solid job of clearly explaining the fundamentals of data structures and algorithms. This course is essential for every computer science major student at any institution. Taking it with Professor Briggs is a decent experience overall. Expect weekly labs and programming …Read more

Fast-PacedFair Grading
6hrs / week Very difficulty High value Would take again
CSCI0201last month

The class information is all valuable and clearly relevant for future courses in computer science. It begins with a couple weeks learning Java, and then delves into various data structures. The labs and homeworks were very doable and generally interesting. However, the lectures themselves were not terribly engaging. Professor Briggs is quite kind and encourages questions and engagement, but generally, I felt that it was hard to stay focused in class. That being said, I learned valuable information without having to do outside work or readings

The class information is all valuable and clearly relevant for future courses in computer science. It begins with a couple weeks learning Java, and then delves into various data structures. The labs and homeworks were very doable and generally interesting. However, the lectures themselves were not terribly engaging. Professor Bri …Read more

Fair Grading
3hrs / week Average difficulty Above average value Would not take again
CSCI02012 months ago

The content is very hard, especially for students who don't have much prior experience in coding in Java. The class is very fast and I couldn't finish most of the hw without help from the TA. I mainly went to CS help hour.

Fast-PacedLots of HomeworkFair Grading
6hrs / week Extremely difficulty High value Would take again
Login to access 67 more reviews of Amy Briggs