Shrutarshi Basu
CSCI
Introduction to Computing
CSCI 0145Introduction 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 reviewsS24Programming Languages
CSCI 0313Programming 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 reviewsF23Introduction to Computing
CSCI 0145Introduction 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 reviewsS23Compiler Design
CSCI 0433Compiler 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 reviewsF22Senior Seminar
CSCI 0701Senior 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 reviewsF22The 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.
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.
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