Computer Science


Principles of Computer Science: COMPSCI 105 Summer School


This page is no longer maintained. Information on the current offering can be found on Canvas. The Canvas link for this course can be found here.

»
Description & Content
»
Course information document
»
Final Learning Outcomes
»
Lecture Times and Locations
»
Lab Times and Locations
»
Textbook and Reference
»
Assessment
»
Passing the course
»
Canvas
»
Lecture Recordings
»
Python
»
Handling illness or absence
»
Cheating Policy
Description & Content

What is Computer Science?
Computer Science has revolutionised virtually all aspects of human enterprise. A large part of the subject involves techniques for making software development simpler and more reliable, but fundamentally Computer Science is about abstraction. Abstraction refers to finding an appropriate model that can be used to solve a particular problem. Computer Scientists create abstractions of real-world problems that can be efficiently represented and manipulated inside a computer.

What is COMPSCI 105?
This course extends the programming skills obtained from the first programming course (COMPSCI 101) emphasising good software design through an appreciation of data structures and code efficiency. COMPSCI 105 provides an introduction to objects and classes, exception handling, algorithm analysis and recursion. The importance of abstraction and abstract data types is illustrated through the study of fundamental data structures (such as linked lists, stacks, queues, trees and hash tables). The performance characteristics of different implementations of these data structures are studied, aided by an introduction to the performance of searching and sorting algorithms.

Top
Course information document

Please carefully read the course information document, which contains essential information about the course including the course schedule.

Top
Final Learning Outcomes

A student who successfully completes this course will be able to:

  • Define a class to model and represent an object
  • Write code which handles important exception types
  • Use a standard data interchange format for reading and writing complex data types
  • Write programs that store and manipulate data in standard linear data structures (arrays, linked lists, stacks, queues) and non-linear data structures (hash tables, trees)
  • Compare the efficiency of algorithms using standard big-O notation
  • Implement recursive solutions to simple problems
  • Implement recursive data structures such as linked lists and trees
  • Explain the basic algorithm for any of the studied sorting methods
  • use regular expressions to extract data from a body of text
Top
Lecture Times and Locations

Please check Student Services Online for the latest lecture times and the lecture venue (sometimes this changes!)

  • Monday 10am - 11am, 401-439 (Engineering building)
  • Tuesday 10am - 11am, 401-439 (Engineering building)
  • Wednesday 10am - 11am, 401-439 (Engineering building)
  • Thursday 10am - 11am, 423-342 (Conference Centre, Room 342)
  • Friday 10am - 11am, 401-439 (Engineering building)

Top
Lab times and Locations

Lab sessions are one-hour in duration and are held at 12noon, 1pm and 2pm on Wednesdays and Thursdays throughout summer school. Labs 1-10 take place in 303S-G75.

  • Labs are a compulsory part of the course. They are worth 10% of your final mark.
  • The very first lab, Lab 0, is to be completed as homework online (before Thursday 7th January)
  • Labs 1 - 10 take place in 303S-G75 (the Ground Floor Computing lab) in the Computer Science building - attendance is compulsory

Top Top
Assessment
  • Labs: 10%
  • Assignments: 15%
  • Test: 15%
  • Exam : 60%
Top
Passing the course

  • COMPSCI 105 is a practical course, which means you must pass the practical (labs and assignments) and the theory (test and exam) sections separately.
  • The pass mark is likely to be 50% but might be lower. If you have not achieved 50% in the practical part you are still advised to sit the exam.
Top
Canvas

  • All marks, lecture recordings and announcements can be found on the Canvas system.
  • Please check your marks each week and contact Paul Denny if there are any problems.
Top
Lecture Recordings

Lecture recordings can be found in Canvas under Modules .
Lecture recordings will be uploaded as soon as possible after each lecture.

Top
Python

We will be programming in Python 3. Programs submitted in solution to assignments should have been tested using Python 3.

Top
Handling illness or absence

  • If you must leave for family emergencies etc., PLEASE talk to the lecturer, or somehow get a message to the department. Very few problems are so urgent that we cannot be told quite quickly.
  • For problems affecting assignments or tests, see the lecturer, as soon as reasonably possible.
  • For illness during exams (or other problems that affect exam performance) students MUST contact the University within ONE WEEK of the last affected examination, to apply for an aegrotat pass (for illness) or compassionate pass (other problems). THE ONE WEEK LIMIT IS STRICTLY ENFORCED.

Top Top


Apply now!


Handbook

Postgraduate study options

Computer Science Blog



Please give us your feedback or ask us a question

This message is...


My feedback or question is...


My email address is...

(Only if you need a reply)

A to Z Directory | Site map | Accessibility | Copyright | Privacy | Disclaimer | Feedback on this page