170 likes | 306 Vues
In this first lecture of the CSC2001 course, Dr. Peter Milligan introduces the fundamental concepts of data structures and algorithms. The course aims to empower students to design appropriate data abstractions and develop efficient implementations in a selected programming language. Key topics include understanding data abstraction, type hierarchy, and commonality in operations. Students will engage in problem-solving and efficient algorithm development. Assessment consists of practical assignments and an examination, requiring a minimum overall mark for course completion.
E N D
CSC2001Data Structures and Algorithms2012-2013 Lecture 1 Dr Peter Milligan Room 02.015.A Bernard Crossland Building
Course Goals Learning outcomes :- • to enable the identification and design of appropriate data abstractions and their related operations, and • to develop efficient implementations of such abstractions and operations in a nominated programming language
Course Goals Skills :- • problem solving • development of abstractions • efficient implementation of algorithms
Data Abstraction How do we study data (and related operations)?
Data Abstraction How do we study data (and related operations)? We introduce the concepts of • abstraction, and • ‘type hierarchy’
The Concept of Type We will look at this, in detail, in chapter two. Basically, we want a generic framework within which we can discuss ‘types’ and any inter-relationships that may exist between ‘types’.
Type Hierarchy To assist us in studying these ‘types’ we will develop a ‘type hierarchy’. This will consist of a series of layers where each layer represents a ‘family’ of ‘types’
Each layer represents one ‘type family’ Member 1 Member 2 Member n
Type Hierarchy As the diagram tries to show • each layer will have one or more family members • for families with several members we will expect commonalitiesbetween the members
Type Hierarchy The commonalities may take the form of • common (or very similar) structure • common (or very similar) operations
Type Hierarchy Commonality of structure will be reflected by the position of the ‘types’ in the hierarchy As we move up the hierarchy we will see increasing complexity in the ‘types’ in each layer
Type Hierarchy Commonality in terms of operations will be considered by examining typical operations for all the types in the hierarchy and trying to split these into two groups
Operations Generic Focussed Common to all Specific to certain types
Type operations Examples of ‘common’ operations • create objects (variables) of the type • assign values to objects (variables) of the type
Module Assessment The module is assessed by • practical assignments (worth20 marks) • a formal three hour examination paper (worth 80 marks)
Module Assessment To pass the module you must Obtain an overall mark of 40% with a minimum of 28 marks obtained from the formal three hour written examination paper