views:

232

answers:

8

A cousin is going to college, probably in computer science, and he asked me where is a good school to go. I told him some schools and current topics in CS, he asked about them and I was wondering, are there some colleges that actually put Design Patterns, CSS, JavaScript, Ajax, DOM Scripting, XML, and web architecture in their required curriculum?

Some new graduates told me they learn JavaScript and CSS on their own, instead of having a real class to teach them the foundation.

Update: from the answers it looks like web programming techniques might be in an elective or self-taught. How about Design Patterns? Do most schools make it a required class nowadays?

+2  A: 

Having just left college, I know that some courses (if the instructor so desires) cover specific issues, such as CSS, AJAX, etc., but there was never a "path" offered to cover the most recent methodologies available for a specific discipline. More like "here's an overview of everything out there, and here are some fundamental concepts you should know."

The only place I can think of that would offer something specific like this would be a trade or vocational school, not a college or university.

(Edited to remove an unintentionally implied slight against technical and vocational schools vis a vis their accreditation.)

Michael Todd
Trade and vocational schools are also accredited. It is, of course, true that they offer a more specific type of degree or certification, but they absolutely are accredited.
Abinadi
Ah. Good to know.
Michael Todd
+3  A: 

In my university, all web based programming classes are optional for the straight BSCS. Generally from what I have found most universities tend to focus their time educating on Computer Science theory with some elective classes that offer more practical skills like web app development. For example some of the core classes in my program are Data Structures, Algorithms, Network Programming, Operating Systems, and varying math classes with elective classes such as Ruby on Rails, Web Application Development (which primarily focuses on php), Asp.Net, and many others.

Corey Sunwold
+13  A: 

I believe that you should tell your cousin not to focus on a college that has a curriculum for one particular area and should instead focus on a college that has a curriculum that teaches him how to learn.

The mark of a good computer science curriculum is not how well you can program in a particular language or how well you can use a particular technology; it's how well you can adapt to a new environment that's the key.

Aaron
Very good point; where I went, they made a point of not teaching languages; languages were used to illustrate programming techniques, not the other way around.
McWafflestix
+2  A: 

university is supposed to help you polish your ability to learn how to learn, in the context of a particular general area. I'd look for maybe some but minimal coverage in specific technologies like CSS/HTML/AJAX, and focus on the more general things like design patterns, object-oriented programming, networking issues, etc.

Jason S
+1  A: 

CS departments rarely teach a course on a specific language (except perhaps the introductory course). What's popular useful from a programming language moves quickly and school tend to view learning specific languages as incidental to learning other concepts around computer science (Algorithm Design & Analysis, Computer Architecture, Compiler and OS design, etc...). Many schools will cover topics like Design Pattern and Web Architecture in classes such as Software Engineering.

If you're cousin is really interested in HTML, Javascript, etc in a CS curriculum options are probably a combination of electives, seminars, internships and self-study. Another area to investigate is design programs which focus on delivering content to the web.

Sean
A: 

tuition cost $ = value;

Jay
+2  A: 

"Design Patterns" may or may not be covered in an Object Oriented Design course (they should be covered in such a course, IMO), which is probably a requirement. It might not be obvious from a course listing if something like Design Patterns are part of the curriculum, though; you might have to look through course descriptions, or even dig through syllabi posted on course web sites.

"CSS, Javascript, AJAX, DOM Scripting, and Web architecture" is mostly pretty specific stuff to web design, so it isn't going to be (and shouldn't be) in a core CS curriculum. It may be offered in CS electives, and some of it may be offered in a different department at a University (e.g., the department that teaches Visual Arts/Graphic Design might have a CSS course). A University may have a "Web Application Development" concentration that is considered a CS or Software Engineering degree, and most Universities allow you to choose "technical electives" that are non-core CS courses in specific topics, the idea being that you take a few courses to specialize in a certain area of Computer Science.

I think that's the way it should be. OOD is far more difficult and abstract of a subject than Javascript, CSS, AJAX, etc., and you will benefit far more from having someone there to teach, test, and mentor you.

Adam Jaskiewicz
A: 

First of all I am a firm believer that an undergraduate education should not have a "track" (they call them specializations at my university) which focuses on a specific technology, but rather, an area of the industry such as bioinformatics, robotics, systems, etc. Your Masters program should be where you are looking to really specialize.

Now with that said all throughout my undergraduate career (I am graduating in the winter) I was involved in a mobile computing project called Smart Campus at NJIT and later an iPhone programming course. I think that most of the work as an undergraduate should focus on the basics of computer science, which really has little to do with actual programming, and from there you should choose your poison for your graduate degree. (Software engineering and computer science are two separate beasts.)

Also, I'd be afraid if a degree program I graduated with had a "web programmer" track and I would never put that on my resume; it would make me sound like I know absolutely nothing about computer science and really just focused on browser technologies.

Tell your cousin to get involved with research projects early on, work on his own projects, and generally make sure that he enjoys coding. Because the hardest part about computer science curriculum is not programming (or understanding the hardware). Most people do not learn that until their sophomore or junior year in college.

John Bellone