Harvey Mudd - digshake/CSE131-Redesign GitHub Wiki

Audience(s)? "All Harvey Mudd students take an introductory computer science course as part of the HMC core curriculum. Students have a choice of several versions of the introductory course based on previous background and interests. All of the introductory courses emphasize computational problem-solving, design and theory, and provide students with both programming skills and a broad exposure to some of the major intellectual ideas in computer science"

All students

CSCI005 HM - Introduction to Computer Science - Introduction to elements of computer science. Students learn computational problem-solving techniques and gain experience with the design, implementa­tion, testing, and documentation of programs in a high-level language. In addition, students learn to design digital devices, understand how computers operate, and learn to program in a small machine language. Students are also exposed to ideas in computability theory. The course also integrates societal and ethical issues related to computer science

CS5 webpage

CSCI005GR HM - Introduction to Biology and Computer Science - This course introduces fundamental concepts from the Core course CSCI005 HM using biology as the context for those computational ideas. Students see both the intellectual and practical connections between these two disciplines and write computer programs to explore biological phenomena. Biology topics include the basics of bio­chemistry, the central dogma, population genetics, molecular evolution, metabolism, regulation, and phylogenetics. Computer science material includes basic data types and control structures, recursion, dynamic programming, and an introduction to automata and computability. This course fulfills the computer science Core requirement at Harvey Mudd College. It does not fulfill the Harvey Mudd biology Core requirement.

CS5Green

Permission of instructor needed for below: CSCI042 HM - Principles and Practice of Computer Science <--- accelerated course for those coming in with programming experience - Accelerated breadth-first introduction to computer science as a discipline for students (usually first-year) who have a strong programming background. Computational models of functional, object-oriented, and logic programming. Data structures and algorithm analysis. Computer logic and architecture. Grammars and parsing. Regular expressions. Computability. Extensive practice constructing applications from principles, using a variety of languages. Successful completion of this course satisfies the [CSCI005 HM] Core requirement and [CSCI060 HM] coursework.

Learning Outcome(s)? Data representation (data, strings, and structures); functions; recursion; top down vs. bottom-up problem solving; circuit design; assembly language; iteration, lists, and dictionaries; objects and classes; a bit of theory (state-machine models of computation and computability)

Programming Language(s)? Python

Course Structure lecture two days per week, 2.5 hours total lab 1 day per week, 2 hours (guide help with HW, not required, but encouraged) Homework each week - ~5 short problems Open ended final project 45% homeworks, 50% exams (3 exams), 5% quizzes

Teachability - Division of labor Instructors run lecture - multiple instructors - 2 sections, I assume 1 instructor per section

Undergrad Community Course highlights summer research, TAing, etc. on day one of class.

TA Involvement Office hours daily(~4-6 hours per day/night), weekly grading meeting

My takeaways Resources are shared between all Claremont colleges (5 of them), but multiple live lecture sessions each ran by a unique instructor.

Variations of the course with a focus on different CS majors available (CS5 for CS majors, CS + math majors, CS5 Green with a focus on computational biology for CS + computational bio majors). Also, single course that accounts for 131 and 247 credit for those coming in with programming experience.