I am currently in my 4A term at the University of Waterloo majoring in Computer Science, I am quite shocked to see how much the University is babying the students these days. (Although, I would bet the elder generations would say the same about my year, anyhow).
Both CS135 and CS136, Designing Functional Programs and Elementary Algorithm Design and Data Abstraction respectively are first year courses designed for Computer Science majors, or for those who are highly interested in Computer Science.
As a course designed for CS majors, you would at least expect the University to get the student’s hands dirty and possibly a little hands on experience with computers. With that in mind, in my first year CS135 and CS136 was Scheme (now they call it Racket) and C. We were expected to do homework either by: go to a computer lab, SSH into the linux servers, or work on our personal machines. We were expected to submit our code solutions by either Odyssey (http://www.cs.uwaterloo.ca/odyssey/) which is a frontend for the `submit` command, or submitting the code with the `submit` command via SSH. Also the course content, (imo) covered more materials as well, not just that, but we were expected to write the proper code as well.
After talking to a bunch of first year students in CS, I’m shocked to see that:
- They are distributing a Ubuntu VirtualBox virtual machine to 560 students for the purpose of doing their assignment. (Say if the installation was 2 Gigabytes, then a little over 1120GB was sent across the campus network.)
- They are giving the students a fancy “RunC” script to compile their assignments, run their assignment, and acting as a fancy error wrapper, which will inform the students of any compiler errors, and memory leaks via valgrind. (The student need to hit ctrl – r to run this script)
- They are giving the students a “uwbackup” script to back up their files to their student accounts. Which is in essence a fancy scp wrapper.
- They are not asking the students to do the proper coding standards. ie) The students does not need to check whether `malloc` or `realloc` has returned a NULL or not. (This is 3 extra lines of code, for the love of god, thanks to you, I’m actually afraid to use programs written by a first year UW student.)
As of this, I am seeing a lot of incompetencies in the students, some does not even know how to use the terminal, never mind compiling their C program with gcc.
This is quite shocking to see, especially now, when there are more competition than ever. One would expect the university to somewhat prepare the students with all the skills that they can develop in 8 months. Since how the hell would a student get a co-op job if they have no previous experience, and the University is babysitting more than ever? Also, since when did we became Laurier?
You tell me.