Amy Briggs
Data Structures
CSCI 0201Data 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 reviewsS25Theory of Computation
CSCI 0301Theory 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 reviewsF24Theory of Computation
CSCI 0301Theory 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 reviewsS24Data Structures
CSCI 0201Data 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 reviewsF23Data Structures
CSCI 0201Data 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 reviewsS23Data Structures
CSCI 0201Data 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 reviewsF22Computing for the Sciences
CSCI 0150Computing 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 reviewsS22Theory of Computation
CSCI 0301Theory 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 reviewsS22Computing for the Sciences
CSCI 0150Computing 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 reviewsF21Theory of Computation
CSCI 0301Theory 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 reviewsF21Computing for the Sciences
CSCI 0150Computing 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 reviewsS21Professor 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
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
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.