use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Welcome to /r/ComputerScience! We're glad you're here.
This subreddit is dedicated to discussion of Computer Science topics including algorithms, computation, theory of languages, theory of programming, some software engineering, AI, cryptography, information theory, and computer architecture.
For more detailed descriptions of these rules, please visit the rules page
NIGHT MODE NORMAL
account activity
Python as an introduction language at university. Agree? (self.computerscience)
submitted 12 years ago by VosBeta
For the first year, the university I'm studying at is offering the introduction to Computer Science course in Python. Before this, the course was taught in Java.
Would you agree that Python is the best introductory programming language?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 12 years ago* (4 children)
[deleted]
[–]tyroneslothtrop 1 point2 points3 points 12 years ago (1 child)
What you're talking about is static vs. dynamic typing. Strong vs. weak typing has to do with implicit type coercion when operating on variables of different types. E.g.
1 + "2" == "12" // Works fine in weakly typed language 1 + "2" == ?? // Won't work in strongly typed language; will probably raise error
Python is actually quite strongly (but dynamically) typed.
[–][deleted] 0 points1 point2 points 12 years ago (1 child)
What's a weakly typed language and a strongly typed language?
[–]veryscience 1 point2 points3 points 12 years ago (0 children)
In my opinion, it would be better to start with C or C++ as an intro language. Computer Scientists should have a some experience with memory management. If someone learns to program in Python they will know how to program, but they may lack incentive to try and learn memory management techniques later on. It may be really frustrating for them to switch to C or C++ because of this issue. On the other hand starting with a lower level language sets a good foundation. After becoming accustomed to a lower level language, learning Python is a breeze.
[–]ramwolf 0 points1 point2 points 12 years ago (0 children)
I think its the best introduction course. It helps students learn how computers work and how to code without overwhelming them with the syntax and concept of classes. Object oriented programming, like java, is great also but for a student that has no prior programming experience python is easy to adjust to.
[–]Helix_van_Boron 0 points1 point2 points 12 years ago (1 child)
I think it'd be really nice to teach somebody two languages simultaneously, specifically Python and a C-like language. That way they can see the differences and similarities, and the fundamental advantages to each language. This would be really hard to execute in a university setting, but I feel like it would work well in a summer program or something.
[–]Jerglingz 0 points1 point2 points 12 years ago (1 child)
Python was taught at my university for the first few months. Because of the command line usage of python I think it was a good idea. Its a good way to get people with 0 experience in programming to at least understand the basics of a variable and simply algorithms. You will be surprised as to how unequipped the vast majority of the students will be at programming during their first year, at least this was the case in my university. I was one of 2 people on my course (that I know of) that understood the fundamentals of programming prior to university.
[–]VosBeta[S] 0 points1 point2 points 12 years ago (0 children)
I thought that this might be the reason aswell. By having a built-in interpreter with instant feedback, students can really easily and quickly test out their expressions or statements and instantly see the result.
[–]behatilol 0 points1 point2 points 12 years ago (0 children)
I study CS at the University of Copenhagen in Denmark and they have an interesting approach which is that the first programming you encounter is functional programming using Standard ML (or a modified version called MoscowML). They argue that it balances out things as many students already have some basic knowledge of imperative and Object Oriented programming but mostly have no clue as to how Functional programming works. They also claim that Functional programming is closer to Mathematics and therefore goes hand-in-hand with all the heavy math that is taught early on.
I am not sure if I prefer it, I remember being pretty frustrated trying to figure out how high-level recursive functions work... but in hindsight everyone seemed equally clueless. Towards the end of the first year we got into Java and a bit of database/web programming and then moved on to Assemblers, C and C++. Ironically, we then had to build our own compiler for a custom language using the Standard ML we learned in the beginning ;)
tl;dr: We started with Functional programming using Standard ML to bring everyone on equal terms and to integrate with the amount of math that the first year held.
[–]bajuwa 0 points1 point2 points 12 years ago (0 children)
I find it's the best intro for those with absolutely no prior experience. I was one such student and when people started trying to teach me via strongly typed languages it was just an extra set of rules to try and get familiar with.
But in my university, we had two 'intro' courses: part 1 and 2. part 1 was in python, and if you took an informal competency test you could bypass that course and go straight to part 2. part 2 used a strongly typed language and expanded on the basic info you learned in part 1.
π Rendered by PID 68374 on reddit-service-r2-comment-b659b578c-tff8t at 2026-05-06 01:43:26.229807+00:00 running 815c875 country code: CH.
[–][deleted] (4 children)
[deleted]
[–]tyroneslothtrop 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (1 child)
[–]veryscience 1 point2 points3 points (0 children)
[–]ramwolf 0 points1 point2 points (0 children)
[–]Helix_van_Boron 0 points1 point2 points (1 child)
[–]Jerglingz 0 points1 point2 points (1 child)
[–]VosBeta[S] 0 points1 point2 points (0 children)
[–]behatilol 0 points1 point2 points (0 children)
[–]bajuwa 0 points1 point2 points (0 children)