Live data from Hacker News

Ask HN: What programming languages are used in CS courses these days?

news.ycombinator.com

51–60 of 69 posts

Re: Ask HN: What programming languages are used in CS courses these days?

#51
I currently teach high school math and science, but I'm looking to switch over to CS in the next year or so, still at the high school level. If I make the switch, I'm going into a school that has no meaningful programming classes. I am currently outlining a four-year plan to build a good high school CS program, that would set students up well for jumping into a competitive CS undergrad. I'd love feedback from people in this thread, about how well this would set people up for their undergrad work:

--- Year 1 ---

[few students in the entire school program at all] Offer multiple sections of an Intro to Python class. Focus on Python, because people can start to do meaningful projects in a relatively short period of time, while still learning meaningful fundamentals. Focus on intro classes, to build a broad base of overall programming competence in the school. Focus on games, visualizations, maybe delve into some robotics.

Also offer some web-focused classes, focusing on basic html and css, getting into Bootstrap and Wordpress as well.

Support other topics such as 3d modeling, graphic design, etc.

--- Year 2 ---

Offer an intermediate Python class for students who have taken the Intro class, and who have continued to build their own projects. Expand projects to include web apps, focusing on full frameworks such as Django and more modular frameworks such as Flask.

Start to offer other languages. C for students who want to understand how things work at a lower level. Go for students who want to work in a newer language? Maybe Java for students who want exposure to a statically-typed language, without dropping all the way to C?

Start to bring students to a conference or two, probably starting with PyCon. I took one student to PyCon last year, and it was a great experience for him, and continues to be a guiding experience in his life.

--- Year 3 ---

Offer an advanced Python class. Refine the C/ Go/ Java offerings. Focus on helping students build portfolios of finished projects.

Offer a class focused on databases? Support students in learning Rails? Maybe refine an independent learning class, where students who have learned Python develop a plan for learning a second language or building a specific project. Focus on teaching students to use the appropriate support channels such as StackOverflow, IRC, mailing list archives, etc, more than teaching directly.

--- Year 4 ---

Have a clearly articulated set of pathways for students who just want some exposure to programming, for students who want to build specific projects, and for students who know they want to go fully into CS. Work closely with teachers in the math and science departments, letting students do CS projects that focus on a content area in another class.

---

I could write an essay on this, so I'll stop there. Many of you are now professional programmers. If you could influence a nascent high school CS program, is there anything in here you would want emphasized, or want to steer me away from?

[edited slightly for formatting]

Re: Ask HN: What programming languages are used in CS courses these days?

#52

Introduction: C# (WinForms) Data Structure: C# Patterns: C# Web client: HTML/CSS and jQuery Web server 1: Java Web server 2: ASP.NET (WebForms) Database 1 & 2: SQL Server 2005 & 2008 Project: ASP.NET MVC 4 + Entity Framework

Wow, where did you go that used .NET? I've only ever seen that in specific .net courses available in some places.

Re: Ask HN: What programming languages are used in CS courses these days?

#53
For me two years ago it was still C/Java/Sql and also a course on 80x86

The hard part was the Advanced Algorithms and Data all in C where you can fuck up in the algo implementations AND also in the memory management of your algo implementation. A fuckup on a malloc/free could cost me the failure of an entire exam

Re: Ask HN: What programming languages are used in CS courses these days?

#54
I've not graduated yet as I started in 2009 and just take courses every now and again instead of doing it all at once, I'm completing my last term this fall.

First year with C++ and C. The C++ usage was C-style code just used cout/cin/booleans.

Second year was C, Forth(had to write an interpreter) MIPS32, Java, and Objective-C(Elective in iPhone dev[pre-iOS days])

Third year: C, Java, Haskell, Prolog

Fourth Year: Matlab, C, whatever you want. Most 4th year courses are either fairly specific or you're free to use any language you want. Ex. the Computer Vision course uses Matlab, but the AI course you could use whatever language you wanted provided you supplied steps for running it that the marker could follow.

Re: Ask HN: What programming languages are used in CS courses these days?

#55
post #51

I currently teach high school math and science, but I'm looking to switch over to CS in the next year or so, still at the high school level. If I make the switch, I'm going into a school that has no meaningful programming classes. I am currently outlining a four-year plan to build a good high school CS program, that would set students up well for jumping into a competitive CS undergrad. I'd love feedback from people…

I'm teaching an intro class for 5th-7th graders that already have some experience with Scratch (visual block based programming). I think Processing, especially in its static mode, does a good job at helping make the leap to actual programming (typing in code) without exposing the novice to as many real programming language constructs like Python does. Since it so trivial to get drawing, animation, and interaction going with Processing, I also find it is more fun for the first timer, especially the ones who don't have a natural geek bent. I'd say go with Python for year two, when you know you have the ones that cared enough to return for more.

Re: Ask HN: What programming languages are used in CS courses these days?

#56
Undergrad 1999 - 2004 (IU-Bloomington)

I can only speak for the classes I took

Intro to Programming => Scheme

Object Oriented Programming => Java

Assembly Programming => 68k assembly

Intro to Data Structure => Java or Scheme (depending on Prof.)

Operating System => Technically C, though I did some of it in Java

Compilers => Scheme

Programming Languages => Scheme

Distributed Programming => C and MPI

Web Programming => HTML, Javascript, Java, PHP, Apache & Perl

AI => Scheme

Software Engineering course => whatever was required or wanted, we chose Perl

IU-Bloomington at the time barely touched Java, preferring to do most of the teaching in Scheme or C. I would have prefered they had focused more on C (as I still can't program a C program without segfaults galore.) and less on Scheme, but that's how it goes.

Re: Ask HN: What programming languages are used in CS courses these days?

#57
I told my friend at work about this thread. He isn't on here so I am ghost posting for him for fun and perspective.

He did his undergrad in CS at UCLA '78-'82.

Intro to Programming => PL/1

Problem Solving using Computers => Algol 68

Operating Systems => MIX pseudo assembly

Data Structures => Mostly theory/test based

Programming Languages => COBOL, Fortran, APL, and ALGOL 68

Software Engineering => C

Simulations => GPSS (General Purpose Simulation System)

Graphics => GDDM (Graphical Data Display Manager)

Very cool how diverse the language selections were.

Also interesting to that C hadn't really caught on yet.

Re: Ask HN: What programming languages are used in CS courses these days?

#58
Started CS at my university in 2011.

Intro to Programming => Java

Intro to Scientific Programming => Python

Data Structures => Java

Computer Organization and Design => C & MIPS Assembly

Programming Language Concepts => Java, Prolog, Haskell, Python

Operating Systems => C

Bioinformatics Algorithms => Python

I would have loved to have been introduced to a Lisp somewhere in there. Had to stumble upon that one on my own, and it's my go to language family for side projects now.

Re: Ask HN: What programming languages are used in CS courses these days?

#59

Started my graduation in 99, finished it in 04, at Brazil. 1st year: Intro to programming in Prolog, and data structures in Prolog or C (student's choice). 2dn year: Everything in C, except for system level courses, in MIPS and x86 assembly. 3rd year: Mostly C and MIPS/x86 assembly, a very interesting discipline in programming paradigms teaching Lisp, Prolog, and Java. 4th year: From tis point on, the course starts t…

Wow, an intro class teaching Prolog, what was that like?

Re: Ask HN: What programming languages are used in CS courses these days?

#60
post #43

I’ll start the last year of my M.Sc in CS in Paris, France next October. Intro to Programming => Java Intro to Data Structures => Java Advanced Data Structures => Java Compilers => OCaml Systems Software => C Database => MongoDB, PostgreSQL Web => PHP Logical Programming => Prolog Functional Programming => OCaml OOP => Java, then C++ Scripting => Python

I would have loved to use Ocaml for my compilers course, writing one in Java was a less than ideal situation, especially since the spec we were implementing was a strict subset of Java. Not much of a wow factor when you create a language that can't do anything the implementation language couldn't.
Post reply on HN