From School of CS Student Wiki
Jump to: navigation, search


Welcome to the Core Project page. The wiki is meant for any kind of material that will help students in their studies, but the core project is all about course notes. The core project is an alias for this site's main aims, and the reason for its creation. The core reason for having this wiki is to allow the production of complete, student produced, course notes for all of the computer science modules taught at The University of Manchester.


This project aims to create a full set of course notes, covering all the SoCS modules available. For the reasons why, see below.

The course notes will need to be written in a style which aids both revision and learning the topic from scratch. This is so students have an alternative source of information if existing explanations are unhelpful.


There are a few methods of learning available to students but the problem is that some of these don't work very well in some circumstances. For example:

  • Lecture slides are not in full paragraphs, they are cut down to bullet points with the full explanation relying on the spoken part of the presentation. This spoken part is usually not available after the lecture, making lecture notes poor sources of information in times of revision.
  • Lecturers can explain topics in detail, but there's little time to note anything down in the lecture. Taking you focus off of what is being said means you might miss something crucial. This would be solved if all lectures were recorded, but there are a couple of other issues. It's hard to use a recorded lecture as a reference (you have to search manually for the relevant part) and sometimes a lecturer's explanation just doesn't make sense to you. At these times, it's often fastest to ask another student to explain.
  • Full course notes are awesome, the problem is there isn't enough of them. Only a few modules produce their own course notes (e.g. COMP11212). The only issue course notes can have (and it's a minor one) is that they may at times be written in a way that isn't how the average student naturally thinks.
  • Web pages vary in quality. Some are brilliant, some are not. Many questions have been answered by Wikipedia and Stack Overflow, but at times the language and expectations of the reader's knowledge is too high (especially for Wikipedia). The material isn't necessarily aimed at teaching, let alone teaching our specific demographic.
  • Textbooks vary in quality and aren't tailor made for our courses (with one exception). Unfortunately, some textbooks assume too much about the readers knowledge, making it hard to understand some topics without external references.
  • Labs are great for practice, but they can't really be used for revision and usually depend on the other forms of teaching too.

Many people already write their own course notes. This gets done hundreds of times over. Considering the success of the collaborative Google Docs it makes sense to collaborate on a full set of course notes. This project is an attempt to combine our effort, rather than everyone writing their own personal notes from scratch. Here are just a few advantages of this approach:

  • Less effort than everyone producing their own personal notes.
  • Your notes get checked by others for free, so there's less chance you'll misunderstand something and have that mistake in your notes by exam time.
  • The material should be pitched at the right level. If you're writing an explanation that you understand, the chances are most other students will get it too. If not, it's easy to edit the explanation.
  • Adding to the wiki is good revision on its own. If you can write an explanation of something, chances are you know it, or you'll know it by the end of the page.
  • Having a complete set of course notes will be invaluable during exams. When your lecture notes aren't detailed enough, or Wikipedia has let you down, you should be able to find a complete and thorough explanation on here (assuming someone got around to writing it, otherwise you'll probably find people to discuss the topic with here and write it yourself).

The whole purpose of this project is to make it easier to learn. In the interest of making this a quality resource, this project has an associated guide and some general advice on how to approach the notes. See below for more information.


Any guides to aid editors in completing this project should go here.


Modules are considered 100% complete when they have a page covering each topic on the course's syllabus. There may still be room for improvement even with a 100% complete module on this list.

Module Completion Comments
COMP10120:First Year Team Project 0% Not started
COMP11120:Mathematical Techniques for Computer Science 0% Not started
COMP11212:Fundamentals of Computation 0% Not started
COMP12111:Fundamentals of Computer Engineering 0% Not started
COMP14112:Fundamentals of Artificial Intelligence 0% Not started
COMP15111:Fundamentals of Computer Architecture 0% Not started
COMP16121:Object Oriented Programming with Java 1 0% Not started
COMP16212:Object Oriented Programming with Java 2 0% Not started
COMP18112:Fundamentals of Distributed Systems 0% Not started
COMP21111:Logic and Modelling 0% Not started
COMP22111:Processor Microarchitecture 0% Not started
COMP22712:Microcontrollers 0% Not started
COMP23111:Fundamentals of Databases 0% Not started
COMP23420:Software Engineering 0% Not started
COMP24111:Machine Learning and Optimisation 0% Not started
COMP24412:Symbolic AI 0% Not started
COMP25111:Operating Systems 0% Not started
COMP25212:System Architecture 0% Not started
COMP26120:Algorithms and Imperative Programming 0% Not started
COMP27112:Computer Graphics and Image Processing 0% Not started
COMP28112:Distributed Computing 0% Not started
COMP28411:Computer Networks 0% Not started
COMP28512:Mobile Systems 0% Not started
COMP30040:Third Year Project 0% Not started
COMP31111:Verified Development 0% Not started
COMP31212:Concurrency and Process Algebra 0% Not started
COMP32212:Implementing System-on-Chip Designs 0% Not started
COMP33411:Software Design using Patterns 0% Not started
COMP33512:User Experience 0% Not started
COMP33711:Agile Software Engineering 0% Not started
COMP33812:Software Evolution 0% Not started
COMP34120:AI and Games 0% Not started
COMP34411:Natural Language Systems 0% Not started
COMP34512:Knowledge Representation and Reasoning 0% Not started
COMP35112:Chip Multiprocessors 0% Not started
COMP36111:Advanced Algorithms 1 0% Not started
COMP36212:Advanced Algorithms 2 0% Not started
COMP36512:Compilers 0% Not started
COMP37111:Advanced Computer Graphics 1% No teaching pages done, Overview page partially complete
COMP37212:Computer Vision 0% Not started
COMP38120:Documents, Services and Data on the Web 0% Not started
COMP38411:Cryptography and Network Security 0% Not started
COMP38512:Digital Wireless Communication and Networks 0% Not started
COMP39112:Quantum Computing 0% Not started
COMP40901:Industrial Group Project 0% Not started
COMP60332:Automated Reasoning and Verification 0% Not started
COMP60342:Optimization for learning, planning and problem-solving 0% Not started
COMP60411:Semi-structured Data and the Web 0% Not started
COMP60421:Ontology Engineering for the Semantic Web 0% Not started
COMP60532:Principles of Digital Biology 0% Not started
COMP60542:Introduction to Health Informatics 0% Not started
COMP60611:Parallel Programs and their Performance 0% Not started
COMP60621:Designing for Parallelism and Future Multi-core Computing 0% Not started
COMP60711:Data Engineering 0% Not started
COMP60731:Advanced Database Management Systems 0% Not started
COMP61011:Foundations of Machine Learning 0% Not started
COMP61021:Modelling and visualization of high-dimensional data 0% Not started
COMP61232:Mobile Systems 0% Not started
COMP61242:Mobile Communications 0% Not started
COMP61332:Text Mining 0% Not started
COMP61342:Computer Vision 0% Not started
COMP61421:Computer and Network Security 0% Not started
COMP61521:Component-based Software Development 0% Not started


  • gravatar Mbax9mc3 [userbureaucrateditorsysopPHRhYmxlIGNsYXNzPSJ0d3BvcHVwIj48dHI+PHRkIGNsYXNzPSJ0d3BvcHVwLWVudHJ5dGl0bGUiPkdyb3Vwczo8L3RkPjx0ZD51c2VyPGJyIC8+YnVyZWF1Y3JhdDxiciAvPmVkaXRvcjxiciAvPnN5c29wPGJyIC8+PC90ZD48L3RyPjwvdGFibGU+]