Last modified: 22 May 2019 17:07
This course will build on the basic programming skills acquired in the first half-session and equip the students with advanced object oriented programming knowledge, implementation of data structure and algorithms, and basic software engineering techniques. The students will be challenged with more complicated programming problems through a series of continuous assessments.
|Session||Second Sub Session||Credit Points||15 credits (7.5 ECTS credits)|
|Campus||Old Aberdeen||Sustained Study||No|
This course uses Python as the programming language and builds on the basic programming skills acquired in CS1022. This course aims to give students a more solid grounding in programming and further builds up the students’ confidence in developing larger and more sophisticated programs for problem solving as well as further career development.
This course includes three components: (1) object oriented programming, (2) data structure and algorithms, and (3) software engineering basics. The object oriented programming (OOP) includes an introduction of the concepts and practice of OOP, OOP in Python, Python modules, object-oriented analysis, design, and testing. The data structure and algorithms component covers fundamental data structures and their related algorithms, such as stacks, queues, linked lists, trees, maps, dictionaries, and hash tables. The software engineering basics covers design patterns, UML, versioning (git), Python programming best practice, and agile development.
The course will challenge students with a series of practical exercises and mini-projects.
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Coordinator.
This is the total time spent in lectures, tutorials and other class teaching.
1st attempt: Three mini assessments containing one or more programming problems (10% each); Mini Project which involves the development of a piece of complicated software and writing a report for the project (40%); Mini projects which involves the development of a piece of complicated software and writing a report for the project. (30%)
Resit: where a student fails the course overall they will be afforded the opportunity to resit those parts of the course that they failed (pass marks will be carried forward).
There are no assessments for this course.
Formative feedback for in-course assessments will be provided in written form. Additionally, formative feedback on performance will be provided informally during practical sessions.