Studying Computing at UNSW (notes) Studying Computing at UNSW (viewing version) Studying Computing at UNSW (or, What we do here ... and how you can best exploit it to succeed in COMP courses) John Shepherd (Coordinator of Postgraduate Coursework Programs, formerly Coordinator of Computer Science Program) ... Studying Computing at UNSW Nerd pride and role models Terminology and jargon CSE courses and programs Life in the Lab Life outside the Lab (or, at least, in some other lab) Nerd Pride Welcome to CSE@UNSW! Home of some of the top IT nerds in the country ... Nerd Pride Welcome to CSE@UNSW! Home of some of the top IT nerds in the country ... Wait a minute!? ... Me? ... A nerd? Nerd Pride Welcome to CSE@UNSW! Home of some of the top IT nerds in the country ... Wait a minute!? ... Me? ... A nerd? Well, yes ... you should be proud to say "I'm a Nerd". ... Nerd Pride So what is a nerd? A geeky guy with thick glasses, no life and a computer obsession? E.g. In CSE, we say "Nerd is Good" So why does everyone else say "Nerd is Bad" ? ... Nerd Pride Because other people are jealous ... that you know more about computers than them that you can do fun stuff all day and get paid for it that you have more chance to change the world than them For example ... A Famous Nerd ... A Famous Nerd Doug Engelbart invented (during the 1960's and 1970's) the mouse 2-dimensional display editing (e.g. Notepad, vi, emacs, Word) windows-based interfaces (e.g. Mac, Windows, KDE, fvwm) hypermedia and collaborative groupware etc. etc. etc. had 2nd host on ARPANET (Internet precursor) The Original Mouse (photo circa 1963) Another Famous Nerd ... Another Famous Nerd Tim Berners-Lee Invented the Web distributed hypertext linking heterogeneous documents a universal naming scheme (URL) Founder of W3C Now Professor at MIT Tim Berners-Lee's original "Web" design (from his proposal document, 1989) Yet Another Famous Nerd And, of course, how could we forget ... ? ... Yet Another Famous Nerd William H. Gates III Chief Software Architect, Microsoft World's richest man ($80b) Contributions to Computing: Basic? ... (existed in mid-60's) MS-DOS? ... (from Tim Paterson) Windows? ... (from Apple) Explorer? ... (from Spyglass) the Internet? ... (hah! he wishes) ... Yet Another Famous Nerd And Microsoft's major "contribution" to computing ... ? The Windows operating system ... which is ... reasonably cheap (targetted at novices) incredibly popular (via suspect corporate behaviour) rather unreliable (poor software engineering) the main reason why the general public thinks that computers are inherently unreliable Thanks, Bill ... you've done the IT industry proud! And finally ... ... there's last year's hottest Nerd ... Terminology and Jargon Information Technology overall term covering theory, practice and application of information processing via digital computers Information Systems application of IT to businesses/organisations (how to apply packages) Computer Science and Engineering foundations and technological basis for IT (how to build packages) ... Terminology and Jargon Training being taught specific skill-set for current products/packages knowledge that dates quickly as technology changes the kind of thing they do at TAFE and industry training-courses Education being taught foundations on which products/packages are based knowledge that dates far less rapidly (foundations change slowly) the kind of thing we do here at UNSW afterwards, we expect that you can train yourself However, not just theory ... we do illustrate ideas by specific technologies. ... Terminology and Jargon Course a single-semester (14-week) unit of study (aka "subject") Program a collection of courses that make up a comprehensive study of an area of knowledge Degree the piece of paper (qualification) that you get when you finish a program CSE Courses Foundations (1st year) introduction to programming, mathematics Core (2nd year) algorithms, data structures, hardware, s/w engineering Specialisations (3rd year) artificial intelligence, cryptography, databases, graphics, ... architectures, operating systems, compilers, networks, ... advanced algorithms, theory of computation, ... That's all very nice ... but what's it like to study in CSE? The F.F.D. of C O M P Fun ... The F.F.D. of C O M P Frustration ... The F.F.D. of C O M P Discovery What are COMP courses really about? Most COMP courses have a number of goals: for you to learn about some aspect of computer technology for you to understand the principles behind the technology for you to develop skills in using this technology for you to further develop general problem-solving skills for you to learn how to learn about new technologies The last one of these is one of the most important things that you'll get from CSE. What are our degrees really about? Our overall goal is for ... all of you to have a deep understanding of "computation" all of you to be capable of being information technology innovators some of you to create the next generation of information technology (and, maybe, become extremely rich in the process :-) But what languages/systems do we learn? Languages and Systems We use languages/systems appropriate for each topic e.g. introductory programming: Haskell, C, Java software construction: Perl, Unix shell, HTML databases: SQL, Oracle/PostgreSQL, Java/JDBC, PHP artificial intelligence: Prolog ....... networks: Java operating systems: C, assembly language graphics: Java, OpenGL Typically, use state-of-art (or research) technology ... Languages and Systems Languages and pre-requisite structure of CSE courses How are courses run? What do we actually do? Cast of Characters Students should be at University because they are interested and want to learn required to perform in exams and assignments to demonstrate learning Academic Staff should be at University because they are interested and want to learn required to do research, teaching, administration ... Cast of Characters General Staff provide invaluable support for academics and students (under pressure) School Office, Computer Support Group, Admin Staff, Technicians, ... some advice: you can never be too nice to General Staff ... University Administration see comments for General Staff ... How are courses run? What do we actually do? At the "coal face" Lectures we present the "theory" via lots of on-line examples (watch, listen, learn) Tutorials clarify theory, practice abstract problem solving (develop design skills) Lab Classes write a small program, with the tutor there to help you (develop practical/implementation skills) ... At the "coal face" Assignments "write a program to do XYZ" (you take home and solve in your own time on a computer) Practical Exams "write n small programs" (you have 2-3 hours to get the programs working) Written Exams questions on a selection of topics (typically a mixture of multi-choice, programming, written) Learning Environments Place Stude:Staff Ratio Hours/Week Lectures 500 : 1 3 Tutorials 15 : 1 1 Lab Classes 15 : 1 2 Assignments 1 : 0+ 3 (in bursts) Self Study 1 : 0+ ?? Note: this is a substantial time commitment and does not mix well with part-time work; consider a 3/4 load if working >10 hours/week How do you know you've succeeded? You know you've succeeded when ... you leave the exam saying "Yes! ... Easy." you start adding bells and whistles to your assignment, a week before it's due you make suggestions to your tutor on how to improve their solution to a tough tute question your Great Idea becomes a program ... then a product ... then a company ... How do you know you've succeeded? Don't ever say "I just want to pass this subject" ... Why not? a mark of 50 means that you know only half of the material most courses lead onto others, so you've got shaky foundations There are benefits available to people who maintain an average mark > 65 You will have maximum choice of 4th-year thesis topics if your average mark > 80 How to succeed in CSE Courses Assessment in CSE courses is based primarily on ... How to succeed in CSE Courses Assessment in CSE courses is based primarily on ... How well you can do things Not just on how much you can remember. So ... ... How to succeed in CSE Courses Practice, practice, practice Explore, think, create ... How to succeed in CSE Courses Practice, practice, practice Explore, think, create ... and install Linux on your PC ... How to fail in Computing Courses Some sure-fire strategies for making sure you fail ... turn up to tutes/labs without reading the questions How to fail in Computing Courses Some sure-fire strategies for making sure you fail ... turn up to tutes/labs without reading the questions or, don't even bother to attend tutes/labs at all How to fail in Computing Courses Some sure-fire strategies for making sure you fail ... turn up to tutes/labs without reading the questions or, don't even bother to attend tutes/labs at all copy assignments from other students How to fail in Computing Courses Some sure-fire strategies for making sure you fail ... turn up to tutes/labs without reading the questions or, don't even bother to attend tutes/labs at all copy assignments from other students don't practice before a Prac Exam How to fail in Computing Courses Some sure-fire strategies for making sure you fail ... turn up to tutes/labs without reading the questions or, don't even bother to attend tutes/labs at all copy assignments from other students don't practice before a Prac Exam spend the revision week in the Uni Bar How to fail in Computing Courses Some sure-fire strategies for making sure you fail ... turn up to tutes/labs without reading the questions or, don't even bother to attend tutes/labs at all copy assignments from other students don't practice before a Prac Exam spend the revision week in the Uni Bar hope that a medical certificate will get you a 2nd chance to pass the final exam ... How to fail in Computing Courses Cracking computer systems may get you some respect from your peers but ... it'll annoy a hell of a lot of people it's a real-world crime it'll get you kicked out of your program i.e. Cracking == How to annoy people in CSE You won't fail by doing these, but you'll annoy everyone in CSE ... spend the lectures chatting on your mobile phone How to annoy people in CSE You won't fail by doing these, but you'll annoy everyone in CSE ... spend the lectures chatting on your mobile phone download 100's of MB of GIFs and print them in the labs How to annoy people in CSE You won't fail by doing these, but you'll annoy everyone in CSE ... spend the lectures chatting on your mobile phone download 100's of MB of GIFs and print them in the labs spend hours on the lab workstations in ICQ chat rooms How to annoy people in CSE You won't fail by doing these, but you'll annoy everyone in CSE ... spend the lectures chatting on your mobile phone download 100's of MB of GIFs and print them in the labs spend hours on the lab workstations in ICQ chat rooms go around telling everyone that Bill Gates is great innovator Important Point about CSE Courses Note: Courses in CSE all run slightly differently The lecturer-in-charge determines style of assessment marking scheme supplementary assessment policy Details of each course are in the Course Introduction The Course Introduction is available on web site in Week 1 Read the Course Introduction! thoroughly for every course Want to know more? Use the Web ... starting at http://www.cse.unsw.edu.au/ Course web pages are called e.g. for COMP1011 http://www.cse.unsw.edu.au/~cs1011/ Most staff members have their own web pages ... which can be revealing ... E.g. jas ... databases, beaches, beer, babies, Bay Area ... Nerd Activities in CSE Similarly, for students in CSE ... it's not all class work ... RoboCup (robot soccer-playing competition) World Champions 2000, 2001 (runners up in 1999, 2002 ... 2002 after a penalty shoot-out) ACM Programming Competition Asia/Pacific Champions 2001, 2002 (and 11th in the World from over 1300 universities) Pleb ... student-run Linux-on-a-handheld project COMPSOC/SESOC/WIC ... Linux Installfests ... BBQs ... What you can do is limited only by your imagination ... Conclusion Enjoy your computing studies at UNSW! Produced: 27 Feb 2003