Week 2.0 - Introduction To CS1860

Introduction to CS1860

Why do computer science students need to learn maths?

  • Computers perform maths calculations. (Historically, first computer scientists, both theoreticians and practitioners, were mathematicians, e.g. Alan Turing)
  • Computer programs (software) are essentially developed in response to a client's need to solve a problem. To develop such a program, the developer uses a methematical model to find a solution that can be programmed.
  • Modern computing increasingly uses sophisticated algorithms, machine learning, probability and statistics.

Course outline, organization, what to read and watch

Sets: defining sets and operations on sets, proofs by construction, counterexample and contradiction
Relations: relations, orderings, functions
Recursion: recursive definitions and induction, cardinality of infinite sets
Graph theory: graphs, trees and spanning trees, directed graphs
Probability: elementary and conditional probability, random variables, statistical distributions (uniform, binomial and geometric)

Course organization

Lectures: Tuesdays
Problem Lectures: Mondays (two groups, one at 2 PM and one at 3 PM)
Quizzes: Once a week, every odd week formative, every even week summative. Each summative quiz = 1%
Class Test: Last week of Term 1 = 5%
CeDaS sessions: Taught by Dr Kinga Boulton, see your timetable

What to watch and read

Lectures: Videos of lectures and pdf slides of them. For the videos, see RePlay in the right bottom part of CS1860 Moodle page.
Lecture Notes (pdf): They contain all material of the module
CeDAS material: Dr Kinga Boulton's material
Videos on Web: Khanacademy videos
Books in the library: Kenneth H. Rosen and Kamala Krithivasan, Discrete Mathematics and Its Applications, 2013 [only hardcopies] and Susanna S. Epp, Discrete Mathematics With Applications, 2011 [also online] [only hardcopies]