middCourses
Introduction to Computing
CSCI 0145

Introduction to Computing In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divide-and-conquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" (Juniors and Seniors by waiver) (formerly CSCI 0101) 3 hr. lect./1 hr. lab

8 reviewsS24
Programming Languages
CSCI 0313

Programming Languages A systematic approach to concepts and features of programming languages. The course focuses on four major programming paradigms: procedural, object-oriented, functional, and logic programming languages. Students will program in several languages representing the different paradigms. Topics include grammars, data types, control structures, run-time organization, procedure activation, parameter passing, higher-order functions, lambda expressions, and unification.

2 reviewsF23
Introduction to Computing
CSCI 0145

Introduction to Computing In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divide-and-conquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" (Juniors and Seniors by waiver) (formerly CSCI 0101) 3 hr. lect./1 hr. lab

9 reviewsS23
Compiler Design
CSCI 0433

Compiler Design An introduction to the design and construction of compilers and translators. Topics include context-free grammars, lexical analysis, symbol tables, top-down and bottom-up parsing, parser generators, error recovery, run-time organization, declaration processing, type checking, code generation, and optimization. Through the course of the semester students will implement a complete compiler for a simple programming language.

10 reviewsF22
Senior Seminar
CSCI 0701

Senior Seminar This senior seminar provides a capstone experience for computer science majors at Middlebury College. Through lectures, readings, and a series of two to three week individual and group assignments, we will introduce important concepts in research and experimental methods in computation. Examples will include: reading research papers; identifying research problems; dealing with big data; experimental design, testing and analysis; and technical writing in computer science. This course fulfills the Responsible Computing requirement for the Computer Science major. (Approval only).

0 reviewsF22
CSCI01454 months ago

The lectures were not very interesting and I felt like I had to spend a lot of additional time at TA hours to get a grasp on the material. It was way too difficult for a beginner level class in my opinion.

Fast-PacedProject-HeavyFair Grading
5hrs / week Very difficulty Average value Would not take again
CSCI03134 months ago

Was a super easy class to get an A but learned about super random languages. Did not have a syllabus and did not even have a homework assignment until the 5th week. Do not think I really learned anything.

Chill and RelaxedEasy GradingNo Exams
3hrs / week Low difficulty Low value Would not take again
CSCI01454 months ago

The content of the course was fine, and wasn't overly difficult. I did, however, feel that Basu was not an effective instructor. He showed little interest in the class, and didn't even seem to know what he was teaching most of the time. He didn't create the curriculum, but it also looked like he was reading the slides for the first time in class. Our "live-coding" was just him copying and pasting dozens of lines of code at once and then not explaining what they do. Grading was very generous on the exams.

The content of the course was fine, and wasn't overly difficult. I did, however, feel that Basu was not an effective instructor. He showed little interest in the class, and didn't even seem to know what he was teaching most of the time. He didn't create the curriculum, but it also looked like he was reading the slides for the first t …Read more

Project-HeavyEasy Grading
4hrs / week Low difficulty Low value Would not take again
Login to access 26 more reviews of Shrutarshi Basu