Skip to main content
gamedev.net
🔒 Locked

Computer Science

Started by dMDI Jun 16, 2002 at 4:54 PM 11 replies 850+ views
Original Post
dMDI
dMDI
First of all, I''m English and I''m a self taught programmer, but still willing to learn anything. Secondly, I love programming, I read anytyhing about it, literally anything. Thirdly, I was looking forward to coming to college to study Computing when I was in high school, but now I''m disheartened. I''ve been promised that it will improve at University, I hope so... Why AS Computer “Science” sucks. Choice of programming language: Delphi, a language of virtually no industrial importance is the language of choice for people being taught how to program in my college year. Not only is Pascal, the language it is based on, the most ugly language ever to grace the earth with virtually no choice available to the programmer as to how he formats his code, but it is also one of the most annoying at the same time. The use of “units” in the Delphi language is of particular annoyance, even a unit that contains a type declaration with no adjoining type definition must still contain an empty implementation block. Of particular annoyance also is the size of the code of a Delphi program. Due to Pascal’s total lack of elegance, it favours huge keywords as opposed to far superior and more convenient symbols. The time wasted typing begin and end over and over where the same thing can be achieved with the saving of 7 keystrokes with C’s method of parentheses. Add the fact that Delphi’s syntax is somewhat illogical, a prime example being the illegality of the semicolon before the else statement in an “if…else” statement, and the use of the then and do keywords (I’d be obliged if someone could explain to me why they need to be included – what exactly do they do? Begin and end define the statement block, and if instantiates the “if” statement, so why include an extra keyword?) As you can tell, I’m no particularly great fan of Pascal, or for that matter Delphi, and I fear that the reason it is used is to hide the student from any real programming, for example Delphi’s predefined pointer types and quite admirable standard library, preventing the student from ever defining his own pointer type, or even ever needing to write a bitmap loading routine himself. Only time will tell. Singularity of programming languages: We only learn Delphi. Even stranger, we only learn procedural Delphi. We spend no time on Delphi’s object oriented side, or for that matter ever look into other types of programming languages, for example logic and functional. Use of IT in Computer Science lessons. Let’s clear one thing up – Computer Science is the study of the algorithm at its most basic. However, when I enter a classroom to study Computer Science, why am I bombarded with lessons in how to use tripe such as Microsoft Access? Surely these are for people who study IT? An application should be picked up on the fly by the student (in a similar vein to us being left to fend for ourselves as to how to use Delphi’s debugger correctly and other advanced features it has). Surely the picking of a single database application and then the teaching of how to use it warrants no place in a Computer Science classroom? The irrelevance showed the pointers: Pointers are fundamental to such languages as C, C++ and Pascal Delphi. However, they seem to be brushed aside in theory lessons as nothing particularly special. We are taught pseudo code versions of an algorithm that tell us to use a pointer here and a pointer there – without ever actually getting taught what a pointer is! How this works I’m not sure. Bias shown to Databases: It feels like half of our year was spent talking about Databases, and then we even had to implement one for our practical. However, when Databases are being taught in such detail, and fundamental pillars of programming, such as pointers and file handling are not, then something is amiss. Practical exam tripe: Perhaps the single most annoying thing about the practical exam was the fact that people who chose to implement their design in VBA had the potential to get the same marks overall as people who coded theirs in Pascal. Basic has no place anywhere; it is a language that for some reason still hasn’t died out, perhaps due to Microsoft’s frenzied attempts at selling it to everyone, and including it in their Office products. Secondly, we got points for including a “security system” in our application. In order to justify the examiner giving us these points, we simply needed to add a password box as the application started, with the password hard coded into the application itself. There was no encryption, ability to change passwords, security levels and so on, just a hard coded password that could be extracted from the program itself by even the lamest of crackers. What a gimmick. Algorithms First of all, we get taught algorithms in our theory lessons, and then never get any class time to implement them. This is perhaps the worst part. The pseudo code is given to the students without them actually having to think about how the algorithm could be implemented. This wouldn’t be so bad if the pseudo code was in such a high levelled language that it forced you to think for a second how to implement it, but the pseudo code is almost completely Pascal! Secondly, the choice of algorithms to teach is appalling. As mentioned earlier, algorithms are fundamental to Computer Science yet as an example of a sorting algorithm we get taught the bubble sort – the slowest and least used one! Rant over :-) dMDI "I don''''t know with what weapons the third world war will be fought, but I know the fourth will be fought with sticks and stones." Einstein
"I don''t know with what weapons the third world war will be fought, but I know the fourth will be fought with sticks and stones." Einstein
felonius
felonius
Don''t worry; high school "Computer Science" has nothing to do with the real thing. It *will* get much better at university. Believe me, I have M.Sc. degree in it. For me, life only truely began when I started at university - before that teachers always bored you with irrelevant topics
Jacob Marner, M.Sc.Console Programmer, Deadline Games
nonnus29
nonnus29
I don''t know how it works in the UK but I know here in the US alot of times the first courses in an area like Comp Sci will be "weeding out" courses; that is to say the school will make the first course a bit more difficult than it has to be to make people who aren''t really dedicated drop out and go for something easy, like psychology. When I took the first semester of computer science, to turn a programming assingment we had to log on to a mainframe, enter our program using a terminal text editing program (yeah, these really suck in case you don''t know), compile with somekinda weird program that really wasn''t even a compiler. Then we had to access another program and tell it the file names and directory of all our files so this program would wrap them and send them to the grad-student instructors. Sounds pretty convoluted huh? Well to make it worse we had to follow these really strict formatting rules where we had to have 10 line header before every procedure and a 20 line section at the beginning of everyfile explaining all the procedures and variables we used.

But think about it, in your introductory courses you have alot of people who don''t even know how to turn on a computer let alone know what a pointer is. Just give''em what they want, make your A and move on.
Drazgal
Drazgal
Hey,

I''m also stuck in this god awful AS system and frankly yes it does suck. Luckily I''m doing my A2 test tomorrow so no more college for me At this level it isn''t computer science, infact Im sure the official title is ''computing''.

Don''t worry though, you''ll go more indepth next year and get to actually implement some algorithms. You''ll start doing things on the actual processors and how they work, assembly, more advanced links like linked lists and so on. If you are really lucky you get to spend 30 minutes ''learning OOP'' and if your college is like mine your teacher will ask you to explain to the class that there is a use for it

The trouble is they can''t teach us stuff that is advanced at this level, afterall have you seen the courses at GCSE? They have to assume we know no programming and need to ease people in slowely.

The database stuff gets worse next year Im afriad, but you do need to know alot of it, just bite the bullet and try not to shoot anyone

The project stuff is pathetic I admit, but the marks are not really for code so it doesn''t matter how you do it, afterall my college only teaches VBA so we all had to do that (they wouldnt let me in first year do anything else). Next year you get a bit more free reign though on what you want to do (though you might be forced to do a database but technically they should let you do what you want) and you can get your own back by writting 20k lines of code in a language your teacher doesnt know and watch their face as they try to mark it

Just wade through the crap for the next year and things will improve at uni, afterall if they dont advance in level at uni imagine what professional games would be like, all buggy, with the constant need for patching to make them work, er never mind.

Ballistic Programs
andrew_j_w
andrew_j_w
I''m currently in my second year at the University of York, I just thought I''d let you know that it does get better!

Things started off pretty slow, there is no requirement to be able to use a computer in my (and I would guess most) Computer Science course so they began by showing you how to log in and what a shell is etc. Pretty soon though they got on to more interesting topics.

With regard to your point about programming languages, things haven''t changed much for me - the first language they teach is Scheme (it''s a lisp dialect) - heard of it? I thought not. Then they moved onto Ada and it''s only now that I''m getting to use C/C++ altough I have another course which uses Prolog on at the same time.

I''ve written less than 1,000 lines of code in my assessments, so if you''re simply into programming you wouldn''t get much joy out of my course. If you''re interested in a much more general study of computers and the principles that they use then a Computer Science course is definitly for you.

A or AS level computing doesn''t have much relevence to a degree in Computer Science - this is my first formal qualification in anything remotly computer related.

HTH
Andrew
Mathematix
Mathematix
I feel your pain, dMDI.

I''m one of the few traditional computer science graduates from the days when it was treated as more of a mathematical discipline rather than knowledge of microsoft products. The only real computer science courses nowadays are given at Oxbridge. :D

Regards,
Mathematix.
andromeda
andromeda
I know this is off-topic, and I''m sorry if I sound like a dumb American (well, OK, I know I sound like a dumb American). How does the education system in the UK work? Is college over there the equivalent of high school over here? I should know, actually, cause I''ve been over there a few times. Anyways, just so I feel like I''m adding something to the discussion, here''s how the school system works in the states:

elementary->middle->high school->
go to college (your university) or flip burgers

Our high school computer courses suck, too. I live in a farming community (we have a bring-your-tractor-to-school day) and the only computer classes offered are stupid things where I would know more than the instructor. Sigh.



Dodge this.
dMDI
dMDI
High school -> College -> University.

dMDI

"I don''''t know with what weapons the third world war will be fought, but I know the fourth will be fought with sticks and stones." Einstein
"I don''t know with what weapons the third world war will be fought, but I know the fourth will be fought with sticks and stones." Einstein
dMDI
dMDI
"The only real computer science courses nowadays are given at Oxbridge"

Thank God! I''m applying to Oxford BTW in September :-)
Glasgow isn''t far behind them either in CS terms.

dMDI

"I don''''t know with what weapons the third world war will be fought, but I know the fourth will be fought with sticks and stones." Einstein
"I don''t know with what weapons the third world war will be fought, but I know the fourth will be fought with sticks and stones." Einstein
madgibbon
madgibbon
Oxbridge isn''t the only "real" computer science course. You should try the University of East Anglia. I will be starting my third year in September. They offer a great course with a large range of free choices.
Smegboy
Smegboy
I understand what you are saying about a number of things but have to completely disagree with you on the basis that delphi has no industrial capabilities.

I don''t want to turn this into a reverse rant as I agree with what you are saying about certain things, particular VB needing to die off quick, but Delphi has lead the development world in rapid application development for the past 5 years.

I know no other environment that you can develop all tiers of a system so easily. VB is underpowered and you have to do so much more in visual C++ to achieve the same result.

With regards to database environments, thats simply not true either, delphi integrates very easily with ADO and ODBC thus you can write apps which communicate with Access, Sql Server, Betrieve, Interbase etc etc.

BTW, Delphi uses the same compiler as C++ Builder so pretty much spits out the same machine code except Delphi actually compiles faster.

MY background is that I have been making multimedia software now for 9 years and have a degree in maths, I have not been formally trained in delphi, but was trained in C, C++ and a whole heap of other scraps like fortran cobol etc. (yuck).

Ziphnor
Ziphnor
It shouldnt really matter which language they use, since the you will be learning the same principles anyway.
But i agree that Delphi sounds like a poor choice, all the CS educations im aware of in Denmark uses Java as their main language and teaches SML in a few courses(because its so different from imperative programming). And of course there are always a few courses using C or C++(but they are rare).

Being taught how to use specific applications(like Access) sounds insane, people are expected to pick these things up on their own(or there might a be a one-day tutorial session outside the normal teaching hours).

But as mentioned by others, im pretty sure this is because you are in highschool, and the teachers there probably dont really know what computer science is.
On the other hand, Computer science is a strange science, and a lot of things seems to fall under that category today(like many "soft" design issues in applications).
Useless Hacker
Useless Hacker
dMDI: I mostly agree with you, execept about Delphi, but I can''t be bothered to go into that now.

andrew_j_w: What''s the University of York like? I''m thinking of applying there for next year to study Computer Science.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.