- 4 reviews
- 4 completed
Contents: This course is an introduction for people with very little experience of computers. It covers the basic data types such as variable, lists, sets and dictionaries. It also covers the basics of classes. A lot of the time is spent dealing with their own CodeSkulptor system. This is a useful system to allow python code to be run in a browser but it is highly non- standard. A lot of the applications developed are concerned with writing games. Presentation: The course is very well presented and the lectures have an infectious enthusiasm for the subject. Resources: The resources for the class include set practice exercises complete with starter code and complete sample solutions. There is also a “code clinic” where the staff provide more direct help to the students. Coursework: The coursework is based around developing a series of progressively more complex games. A lot of the lecture content is devoted to helping the student with these. The coursework itself is peer assessed. Summary: Overall it is a very well produced course but it is a little to simple and spend too much time covering the implementation of games on the proprietary system.
Contents: What this course is not is a general summary of machine learning techniques. Instead it is an in-depth course on a number of the commonly used numerical techniques such as Multivariate Linear Regression ( use for predicting values), Logistic Regression ( for classification problems ) and mathematically modelled neural networks. Presentation: The Lectures are generally well presented but are of a highly mathematical nature. Resources: The practical side of the course is based on Octave, a free variant of Matlab. Coursework: The coursework consists of machine marked review questions an a series of practical problems to be solved Octave. Starter code is supplied for the practicals – they are marked by the server. Summary: This is a course for professional with a good mathematical background. If you are likely to need the techniques then is is worth doing the course. It is not for people who are merely curious.
Contents: The course starts with some general background and history. It covers general topics like stream cipher and block cyphers. It then goes on to consider various standard encryption systems such as DES and AES. It considers various methods of attack and theoretical metrics of security. Other systems such as public key ciphers and key exchange systems are covered, as are more specialised topics like message integrity and authentication. Presentation: some of the more theoretical lecture on number theory are quite daunting and some of the ideas for security metrics seem rather artificial but in general it is a well presented course. Resources: There is effectively no support material. Coursework: There are a number of practical programming exercises involving implementing and breaking ciphers. These are great fun. Summary: This is not a simple course. To get the most out of it you need a good background in programming and probability. If you have these then I strongly recommend this course.
Contents: This course is a fairly conventional academic compiler course. It covers the lexical analysis, semantics analysis, optimization and code generation ( mainly for MIPS processors ). It covers in detail a number of serious theoretical concepts like finite state automata ( used in lexical analysis ) and parsing of contexts free grammars ( used in semantic analysis ). Some of these topics are quite difficult. Presentation: The lecturer is very competent and things are explained clearly without being dumbed down. Resources: They provide a virtual image of a Linux systems with all the required software ( Bison and Flex, plus a MIPS simulator ) installed. The systems is about 750 MB so you will need a good internet link to fetch it. Coursework: The coursework is option and involves writing as compiler for a minimal object oriented language ( Cool ). It take a lot of time ( for the later tasks about 20 to 30 hours each ) but if you have the time it is very rewarding. There is a choice of C++ and Java frameworks. All coursework is machine marked. Summary: This is a serious academic course for skilled programmers. If your are interested in compilers this course is definitely worth doing.