It introduces complex data structures and methods of manipulating them. These aims are achieved by studying many of the basic algorithms together with their analysis and practical applicability. The course is taught with particular emphasis on good programming practice and techniques. This emphasis on a software engineering approach includes consideration of documentation, testing, walkthroughs, code readability and modifiability, and implementation strategies.
Theory is reinforced with case studies of increasing complexity throughout the course.
Throughout the first term, students will be introduced to the professional issues of concern to computer scientists, through weekly lectures and advisor tutorials. This course gives a good introduction to all aspects of digital electronics. The course provides a substantial amount of practical experience, with weekly supervised laboratory sessions. Students carry out exercises in digital logic design using relatively small scale integrated circuits. Most of the laboratory work uses Logic Tutors with which circuits comprising up to about ten ICs can be investigated.