Module 22754.1 (2013)

Module Description - Foundations of Computer Science

The Module Description is a strict subset of the Syllabus Page, which gives more information

Module TitleFoundations of Computer Science
SchoolComputer Science
Module Code06-22754
DescriptorCOMP/06-22754/LC
Member of StaffDan Ghica
LevelC
Credits20
Semester1+2
Pre-requisitesNone
Co-requisitesNone
RestrictionsNone
Contact hours68
Delivery2 hrs lecture, 1 hr exercise class per week
DescriptionThe module will introduce the fundamental concepts of Computer Science, such as the representation of data in computer memory, programming constructs, data models and data structures and the analysis of algorithms. The ideas will be presented abstractly, although examples will be given in the language used in the parallel programming workshop modules.
Outcomes
On successful completion of this module, the student should be able to:Assessed by:
demonstrate understanding of the principles of algorithmic programming Examination, Continuous Assessment
demonstrate understanding of abstract models of data and computation Examination, Continuous Assessment
make informed choices between alternative ways of implementation, justifying choices on grounds such as time and space complexity or considerations of numerical accuracy Examination, Continuous Assessment
explain and apply data structures such as binary trees, heap-trees, graphs and tables, together with their internal representations and relevant algorithms Examination, Continuous Assessment
select, with justification, appropriate data structures to ensure efficient implementation of an algorithm (e.g. searching, insertion, deletion or sorting) Examination, Continuous Assessment
explain the differences between basic complexity classes of algorithms (constant, linear, quadratic, logarithmic, exponential) Examination, Continuous Assessment
argue that algorithms are correct, and derive their time complexity Examination, Continuous Assessment
select, with justification, appropriate algorithms for basic tasks such as searching, including reference to the algorithm's complexity class Examination, Continuous Assessment
AssessmentSessional: 3 hr examination (80%), continuous assessment (20%).
Supplementary (where allowed): By examination only.
TextsBrookshear, Computing Science: an Overview,
Goldschlager L & Lister A, Computer Science, a Modern Introduction, 1988
Horstmann C S, Computing Concepts with Java Essentials, 1998
Aho A V & Ullman J D, Foundations of Computer Science in C,
Collins W J, Data Structures: An Object-Oriented Approach, 1992
Horstmann C S, Computing Concepts with Java Essentials , 1998
Adamson I, Data Structures & Algorithms: A First Course, 1997
Standish T A, Data Structures in Java, 1997
Paulson L C, ML for the Working Programmer. 2nd Edition, 1996
, Detailed module notes will be provided.,