Module Information
Module Identifier
CS12130
Module Title
CONCEPTS IN PROGRAMMING
Academic Year
2011/2012
Co-ordinator
Semester
Semester 1
Co-Requisite
None
Mutually Exclusive
Pre-Requisite
None
Other Staff
Course Delivery
Delivery Type | Delivery length / details |
---|---|
Lecture | Up to 42 lectures |
Assessment
Assessment Type | Assessment length / details | Proportion |
---|---|---|
Semester Exam | 2 Hours Online examination | 40% |
Semester Assessment | Best of 2 in-class tests | 20% |
Semester Assessment | 1 practical programming assignment involving design and implementation of a java solution to a problem | 30% |
Semester Assessment | Up to 8 practical worksheets completed in labs and in own time. | 10% |
Supplementary Assessment | 2 Hours Resit failed examination and/or resubmission or failed/non-submitted coursework components or ones of equivalent value | 100% |
Learning Outcomes
On successful completion of this module students should be able to:
1. Demonstrate an understanding of problem abstraction and program design by producing good software designs using simple Universal Modelling Language (UML) notation.
2. Realise those designs by using Java concepts in programs that solve a variety of problems.
3. Demonstrate professionalism through the production of high quality program code.
4. Describe the fundamental concepts of programming and compare how these are expressed in Java and in other programming languages.
Brief description
This module is designed for students with experience of programming in procedural languages. The material covered will be similar to that in CS12230 but will build on the students' previous computing experience. The practical work associated with the module will help students to become familiar with Java and the development environment offered at Aberystwyth.
Personal transferable skills are an important quality of any software engineer and form an important part of this module.
Personal transferable skills are an important quality of any software engineer and form an important part of this module.
Aims
The module concentrates on the design of software using object oriented design techniques in a way that eases development by a team of programmers, enhances reuse of existing components and improves the maintainability of the resulting software.
The idea of problem solving and algorithm design is addressed very early on in the module. Through extensive practical experience, students gain skills in developing, evaluating and implementing their own designs. Through the tutorial system they are also given practice in evaluating and implementing designs produced by others. Emphasis is placed on distinguishing between the design of a software product and its implementation.
The Java programming language is used as a basis for illustrating the concepts covered by the syllabus. The intention of the supervised practical sessions is to enhance the problem solving and programming skills of participants, giving them practical experience of writing software systems in Java. Java is integrated into students? existing mental models of programming by consideration of other programming paradigms.
Weekly tutorials provide the pastoral support for the first semester and give a forum for discussing the technical aspects of material presented in this module.
The Activity Weekend is designed to enhance the student's team working skills and to further develop their interpersonal and communication skills. Through a series of varied tasks held over the weekend, and supported by further project work, students will be exercised in their problem solving abilities.
The idea of problem solving and algorithm design is addressed very early on in the module. Through extensive practical experience, students gain skills in developing, evaluating and implementing their own designs. Through the tutorial system they are also given practice in evaluating and implementing designs produced by others. Emphasis is placed on distinguishing between the design of a software product and its implementation.
The Java programming language is used as a basis for illustrating the concepts covered by the syllabus. The intention of the supervised practical sessions is to enhance the problem solving and programming skills of participants, giving them practical experience of writing software systems in Java. Java is integrated into students? existing mental models of programming by consideration of other programming paradigms.
Weekly tutorials provide the pastoral support for the first semester and give a forum for discussing the technical aspects of material presented in this module.
The Activity Weekend is designed to enhance the student's team working skills and to further develop their interpersonal and communication skills. Through a series of varied tasks held over the weekend, and supported by further project work, students will be exercised in their problem solving abilities.
Content
1. Welcome and preview - 1 Lecture
Introduction to the department and the course.
2. Management Issues and Professional Conduct - 1 Lecture
The growing role of computing and software. The need for software engineering and professionalism.
3. Computer system appreciation - 1 Lecture
Computer organisation at Aberystwyth. Emphasis is placed on the relationships between hardware, architecture and software, with reference to the computer systems at Aberystwyth.
4. Programming Paradigms ? 10 lectures
An examination of different programming paradigms. Linking previous experience with Object-oriented ideas. Other paradigms and Tools.
5. Representation of designs - 3 Lectures
An introduction to illustrating designs using the Unified Modelling Language (UML).
6. Programming in the large - An introduction to Java - 23 Lectures
Software crisis, abstraction, algorithms and programs. The design of algorithms, object oriented programming, and an introduction to Java. Programming constructs, expressions, primitive types, classes and objects. Information hiding. Further object oriented design - inheritance.
7. Testing - 1 Lectures
Techniques and aids for error detection.
8. Personal Communications Skills - 1 Weekend
Team roles; Belbin methodology and self assessment. Interpersonal skills - achieved in associated Team Skills weekends.
Introduction to the department and the course.
2. Management Issues and Professional Conduct - 1 Lecture
The growing role of computing and software. The need for software engineering and professionalism.
3. Computer system appreciation - 1 Lecture
Computer organisation at Aberystwyth. Emphasis is placed on the relationships between hardware, architecture and software, with reference to the computer systems at Aberystwyth.
4. Programming Paradigms ? 10 lectures
An examination of different programming paradigms. Linking previous experience with Object-oriented ideas. Other paradigms and Tools.
5. Representation of designs - 3 Lectures
An introduction to illustrating designs using the Unified Modelling Language (UML).
6. Programming in the large - An introduction to Java - 23 Lectures
Software crisis, abstraction, algorithms and programs. The design of algorithms, object oriented programming, and an introduction to Java. Programming constructs, expressions, primitive types, classes and objects. Information hiding. Further object oriented design - inheritance.
7. Testing - 1 Lectures
Techniques and aids for error detection.
8. Personal Communications Skills - 1 Weekend
Team roles; Belbin methodology and self assessment. Interpersonal skills - achieved in associated Team Skills weekends.
Module Skills
Skills Type | Skills details |
---|---|
Application of Number | Throughout. Inherent in subject |
Communication | In tutorials and weekend and write-ups of assignments |
Improving own Learning and Performance | Yes. In practicals |
Information Technology | Throughout. Inherent in subject |
Personal Development and Career planning | To some extent. Encourages students to see roles in subject for career and personal development. |
Problem solving | Throughout. Inherent in subject |
Research skills | Throughout. Looking up solutions to problems |
Subject Specific Skills | Java Programming |
Team work | In tutorials and weekend |
Notes
This module is at CQFW Level 4