Re: what should be in a computer science degree?
- From: Tim X <timx@xxxxxxxxxxxxxxx>
- Date: Thu, 21 Jun 2007 18:09:06 +1000
Mark Tarver <dr.mtarver@xxxxxxxxxxxxxx> writes:
On 21 Jun, 03:40, Jon Harrop <j...@xxxxxxxxxxxxxxxxx> wrote:
Mark Tarver wrote:
Numerical Methods
Artificial Intelligence
Machine Learning
Cryptography
Parallel Processing
Expert Systems
Multi Agent Systems
Bioinformatics
Robotics
Vision
Graphics
Hardware
GPUs
Static type checking, verification and theorem proving
GUI programming
Games programming
Data structures
Algorithms
Concurrency
Ergonomics
Business
What's your opinion?
Should non-CS degrees contain more CS? For example, should computational
scientists be taught something about data structures and algorithms?
--
Dr Jon D Harrop, Flying Frog Consultancy
The OCaml Journalhttp://www.ffconsultancy.com/products/ocaml_journal/?usenet
I think that anybody doing a science should probably have some
foundation in programming because computeracy is becoming as important
as numeracy.
I thought about the Data Structures and Algorithms idea. Something
like it has been a traditional staple of many CS degrees.
I think the problem is that algorithms are in a sense what CS is
largely about and there are literally zillions of them. So a course
devoted specifically to algorithms
really doesn't fly unless you focus on 'algorithms for' - in which
case the course is about a specific area of CS.
I think I'd have to disagree on your point regarding algorithms. Writing good
algorithms and using appropriate data abstraction are possibly the two key
concepts in programming and fundamental to much of what is done under the label
of computing science. More importantly, many of the finer aspects of algorithms
are not necessarily intuitive. Take a look at some of the algorithms in books
by Knuth, sedgwick, Wirth et. al. - there is lots of meat in these books that
require considerable effort to digest and really appreciate. Many programmers
would not 'discover' these techniques if left to their own devices - they need
to be exposed/taught. Even after 20 years, I will still go back to some of my
texts from these courses for inspiration when working on a difficult problem or
when I need to find a more optimum solution. There is certainly enough content
in this area to fill a semester with content that will provide an important
base for later study or real-world work.
Data abstraction is another area which could easily fill a single semester.
Look at books like SICP - a large part of the central theme of that book
concerns the importance of deriving the appropriate level of abstraction in
order to obtain an elegant, efficient and maintainable solution. Again, there
is a fair amount of content which is somewhat subtle, but takes considerable
work to fully grasp and be able to apply.
An important aspect of a comp. sci. degree is to expose the student to the more
subtle aspects of the discipline that wouldn't be easily discovered without
guidance. The study of algorithms is less about specific algorithms to solve
specific problems, but instead about the issues to consider when designing an
algorithm and various techniques which have been extensively analysed and are
well understood that make up valuable techniques/tools that the programmer can
apply.
Tim
--
tcross (at) rapttech dot com dot au
.
- Follow-Ups:
- Re: what should be in a computer science degree?
- From: Mark Tarver
- Re: what should be in a computer science degree?
- References:
- what should be in a computer science degree?
- From: Mark Tarver
- Re: what should be in a computer science degree?
- From: Jon Harrop
- Re: what should be in a computer science degree?
- From: Mark Tarver
- what should be in a computer science degree?
- Prev by Date: Re: The Lisp experience - 19-year old college student asks for help in #lisp, has to wait half an hour for a response; asks in #python, gets the answer in 6 minutes. Gives up on Lisp... "I'll wait for Arc, thanks."
- Next by Date: Re: Can a defmethod specialize on a metaclass?
- Previous by thread: Re: what should be in a computer science degree?
- Next by thread: Re: what should be in a computer science degree?
- Index(es):
Relevant Pages
|