python university search

Preston Hagar prestonh at gmail.com
Mon Dec 5 19:15:52 CET 2005


On 12/5/05, Rocco Moretti <roccomoretti at hotpop.com> wrote:
>
> josh wrote:
> >
> > hello,
> >
> > i am interested in doing an undergraduate major in computer science
> > that mainly focuses on python as a programming language..
>
> Undergraduate education is (should be) about breadth. Python has a place
> there, but it isn't the be-all, end-all. There are some concepts for
> which Python isn't well suited in teaching (functional programing, logic
> programing, operating system programing, etc.). I'd hope that you go to
> a high-quality University that understands this, and teaches *concepts*,
> not programing languages.
>
> In the long run, it will (likely) be better for you to go to a
> University where they don't even use Python, but solidly teach concepts,
> rather than one that's so into Python that they neglect topics that are
> taught poorly in Python.
>
>
> Just my two cents.
> --


I completely agree with this.  I have B.S. in Computer Science from a 4 year
university.  My undergrad education was somewhat different from what I
expected going in and very different from what I find most people think a
computer science undergrad degree is all about.  I had very few classes that
focused  only on a certain programming language, software, OS, etc.  The
only classes like that I had were just 1 hour electives.  Computer science
is more about the theory behind computing and a logical way of thinking than
it is about a certain technology.

As Edsger Dijkstra said, "Computer science is no more about computers than
astronomy is about telescopes."  If you are looking to learn Python
programming and only Python programming, often (at least here in the US)
local community colleges and/or technical schools like DeVry have programs
that teach current technologies like Python.  The good thing about these
programs is that they are usually quicker to complete, easier, and less
expensive when compared to a university computer science program.  The
downside is that you usually only learn what is going on now.  They are
often very weak in theory.  They explain how, but not why.  They might equip
you jobs today, but what about 5 or 10 years down the road?  It is likely
that Python with be somewhat different in 5 or 10 years, or may even no
longer be a popular language.  If you only know that language constructs and
API's of today, but don't understand why they are written or set up the way
they are, it could be difficult to adapt or learn new ones as they mature.

With a university computer science degree, you will quite possibly not even
learn Python, but you will (hopefully) learn the concepts and theories that
will make it much, much easier to learn Python or any other language down
the road.  I took a Python class in school, but it was only a one hour
"language lab" (At my school and many schools in the US, most classes are 3
"hour" classes and it requires 128 "hours" to graduate).  It mainly focused
on what makes Python different than other languages.  I also had a 1 hour
class in C programming.  These were the only classes that only focused on
one language.  I took many other classes, such as Object-Oriented
Programming, that used C++ or Java to show examples of the concept, but one
language was never really taught over another.  The concepts, such as OO
programming was what was really taught.  As you can see, 2 class "hours" out
of 128 isn't that many, but I have held a job doing C++ and Python
programming since graduation and have done well.

Another thing a university degree gives you, especially if you go to a
liberal arts college, is classes in business, writing, and communication.  I
have delt with many other computer professionals as well as interviewed many
for positions and find that communication skills and business skills seem to
be where many are lacking.  I have met people that are unbelievable
programmers, but the projects they can work on are somewhat limited because
they cannot interact well with management or users to learn specifications
or problems.  Many see a programming position as a "loner" position where
you write you code and don't have to interact with anyone.  While I am sure
that are some situations where this is true, most programs are useless
unless they can be used by non-programmers.  I would encourage you to not
only take programming classes, but take a class or two in communication and
writing skills.

I am by no means the most knowledgeable programmer/computer guy out there,
but I thought I would share my experiences with you.

HTH,

Preston
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20051205/717f9455/attachment.html>


More information about the Python-list mailing list