Hacker News new | comments | ask | show | jobs | submit login

>At Mudd, this course is taken by almost every first-year student—irrespective of the student’s ultimate major—as part of our core curriculum. Thus, it serves as a first computing course for future CS majors and a first and last computing course for many other students.

This is a great thing to offer students and I wish my University had made this a part of the curriculum. Somehow I managed to have practically zero exposure to computer science or programming until after graduation--only to discover that I find it immensely challenging, interesting, and rewarding. I probably would have switched majors if I'd taken this class Freshman year.

I think it's a good idea, but fwiw it's not CS-specific. Harvey Mudd's idea isn't that CS is so uniquely important that everyone should take it, but rather than everyone should take a lot of things, regardless of major, and CS is one of those things. The curriculum is designed with a philosophy of fairly broad education, kind of in line with a liberal-arts college ideal, but with more of a STEM flavor. I was a CS major there, and only maybe 1/3 of my total course hours were CS: the split is roughly 1/3 in your major, 1/3 Common Core, and 1/3 "HSA" (humanities, social-science, and the arts). [1]

The technical part of the Common Core is currently: 1 course biology, 1 course CS, 1 course engineering, 1.5 courses chemistry (0.5 is a lab), 2.5 courses physics, 0.5 course elective lab, 3 courses mathematics.

[1] There's even a hokey triangle illustrating that philosophy in the course catalogue (p.26): https://www.hmc.edu/academics/wp-content/uploads/sites/7/201...

I didn't know "technical liberal-arts" colleges really existed. That's cool. As a student at a more traditional liberal-arts college[1], it's something I've thought about before.

[1] albeit one with a massively growing CS curriculum that is on track to be its own major, instead of part of the math department

FWIW, Harvey Mudd is part of the Claremont Consortium of five small liberal arts colleges, and it considers itself a liberal arts college: https://www.hmc.edu/about-hmc/

> We’re also unique because we are a liberal arts college.

Traditionally, the "liberal arts" include mathematics and physical sciences alongside arts, humanities and social sciences.

What do they cover in the basic general engineering course?

The course covers signals and systems. We talk about ways of modeling physical and electrical systems (or any other system really) as combinations of smaller components, and use the characterizations we derive of the smaller systems to characterize behavior of the larger ones. We use tools like the fourier transform to simplify the analysis.

This wikibook seems to cover the same topics: https://en.wikibooks.org/wiki/Signals_and_Systems

When I took it ~25 years ago it was called Intro to Systems Engineering, and covered the foundational principles of control systems design and analysis of linear dynamic systems. A lot of Laplace transforms, first- and second-order differential equations, relationships between time-domain and frequency-domain behavior, etc.

The things I learned in the basic engineering course that really stuck with me were convolution, the sampling theorem, and the Fourier transform. That knowledge has been invaluable.

The University of British Columbia also has something similar, CS110 which uses a subset of Racket (Beginning/Intermediate/Advanced Student Language) to teach core CS concepts to a wide range of students.

The course videos are all available on Youtube: https://www.youtube.com/channel/UC7dEjIUwSxSNcW4PqNRQW8w/pla... and I believe the "Systematic Program Design" courses on EdX are an expanded version of the course.

Interestingly there is a common tie between Mudd and UBC: Maria Klawe (a truly inspirational woman). I would t doubt she had her part in both these courses.

Just based on her timeline at UBC, I don't think she would have. CS 110's first pilot offering was in 2009 (I was one of a few dozen students to choose it over the existing CS111) whereas she left the department in 1995, and the school in 2002 (between those she was involved in the faculty of Science as a whole). At most, she would have been part of the early planning stages or discussions of the course, although perhaps she could have been an informal advisor through the years after her departure.

As a general rule, college presidents don't get involved in course creation--even at small colleges like Harvey Mudd. In this case it would have been hard for her to have had a part since the course was created before she arrived.

Really interesting that UBC uses Racket for the intro CS course, because UWaterloo does as well

Oh really? Huh, I didn't know.

I can say that I really appreciate what was done in CS110. I learned about a bunch of topics that would have been taught later on in other curriculums like recursion, graphs, lambda calculus, first class functions, and even implemented minmax. Granted, I took the pilot offering which has since been scaled down (lowest common denominator of student and such) but there were a lot of concepts which just couldn't have been taught efficiently with something like Java, which has a lot more syntax to learn before even being able to get to the meat of the course.

That said, the course is definitely not for everyone. People that taught themselves other languages before coming to UBC generally found it to be too easy at first, wrote the course off as being stupid, then started lagging slowly as time went on and more advanced topics got introduced. I've TAed the course a few times, and have seen that come up a lot. Also, of course, the people that just couldn't grasp the concepts in the course. But overall, it was a fairly well-attended class, with lots of people from across the school (it counted as as a computation course for Arts majors and was easier than Calc 3 :) ). Really cool to see the different ways people would approach a problem.

U of Chicago uses HtDP with typed racket. https://www.classes.cs.uchicago.edu/archive/2014/fall/15100-...

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact