Programming Using an Object-Oriented Language
- Cod y Modiwl
- CS12320
- Teitl y Modiwl
- Programming Using an Object-Oriented Language
- Blwyddyn Academaidd
- 2026/2027
- Semester
- Semester 2
- Cyd-gysylltydd y Modiwl
- Dr Faisal Rezwan
- Rhestr Ddarllen
- Gweld ar Aspire
- Anghymharus (Unrhyw Flwyddyn Acad)
-
CC12320
- Staff Eraill sy'n Cyfrannu
- Dr Andy Starr
- Dr Arina Buzdalova
- Dr Faisal Rezwan
- Dr Tomos Fearn
- Dr Muhammad Aslam
- Mr Malcolm Hutchison
Dulliau Asesu
|
Math o Asesiad |
Manylion Asesiad |
Cyfran |
|---|---|---|
| Asesiad Semester | In-class quizzes (up to 5): 1 Awr Blackboard quizzes which includes Multiple Choice Questions, True/False, matching, and programming problems. | 40% |
| Asesiad Semester | Individual assignment: A relatively large programming assignment with 2000 words report with Java code. | 60% |
| Asesiad Ailsefyll | Individual assignment: A relatively large programming assignment with 2000 words report with Java code. | 60% |
| Arholiad Ailsefyll | Online exam: 1 Awr A Blackboard quiz which includes Multiple Choice Questions, True/False, matching, and programming problems. | 40% |
Canlyniadau Dysgu
Wedi cwblhau'r modiwl dylai'r myfyrwyr fedru:
- Describe and explain the key differences between procedural and object oriented programming.
- Find objects, classes and methods based on a problem statement, thereby showing aptitude to apply the concepts of abstraction and encapsulation.
- Map UML use-case, class and sequence diagrams onto object-oriented code.
- Develop a non-trivial object-oriented program that contains a graphical user interface, thereby demonstrating the ability to deal with simple event-driven programming.
- Demonstrate the ability to apply the concepts of composition, inheritance and polymorphism.
- Demonstrate in object-oriented code how to handle error conditions.
- Demonstrate in object-oriented code how to store and retrieve data to and from files.
Disgrifiad cryno
This module will build on CS12020 Introduction to programming. In particular, it will explore the use of the object-oriented paradigm and its embodiment in the Java programming language. UML (Unified Modeling Language) notation will be defined and used as appropriate. It provides a foundation for Part 2 modules that use object-oriented languages, such as CS21120 - Data Structures and Algorithms, and CS22120 - The Software Development Life Cycle.
Nod
This module will build on CS12020 Introduction to Programming. It will explore the use of the object-oriented paradigm and its embodiment in the Java programming language. It will be taught in conjunction with CS10720 - Problems and Solutions, and will define and use UML when modeling requirements and design.
Cynnwys
This module's teaching pattern each week consists of two 2-hour lecturer-led teaching sessions in a large computer laboratory. This enables small presentations to be followed by related practical exercises and quizzes. Students also have a 1-hour small-group tutorial for team-based design and coding exercises. The module will cover the following topics:
1. Introductory workshops as a taster of many of the topics to be covered during the module: The idea of class and object. Storing data in instance variables. Methods. Java Virtual Machine and bytecode. Applications running from an integrated development environment tool. Review of concepts from semester one as used in Java: variables, conditional tests, loops.
2. Basic concepts. Exploration of objects and classes. The UML class diagram. Instance variables, methods and parameters, object diagrams. Relationships between classes and their representation in class diagrams. Mapping a simple procedural program from semester one to a Java program.
3. Review of basic concepts. Reading from the keyboard. Null references. Running programs from the command line. Javadoc comments. Naming conventions. Tutorial on the use of the Classes, Responsibilities and Collaborations technique.
4. Types and equality. Searching, loading and saving. Reading from and writing to files. Iteration over Java Collections. Java arrays. UML sequence diagrams.
5. Access modifiers. Packages and JAR files. The static modifier. Revisiting abstraction and encapsulation. Consolidation: design and implementation. The role of use-case diagrams and their relationship to class diagrams and implementation.
6. Focus on inheritance, polymorphism, interfaces and abstract classes. Overriding the equals method. Exception classes.
7. Graphical user interfaces. Event-driven programming. Separation of concerns.
Sgiliau Modiwl
|
Math o Sgiliau |
Manylion Sgiliau |
|---|---|
| Cyfathrebu | Communication in a technical sense through UML diagrams |
| Datblygu personol a chynllunio gyrfa | The module will provide more information on what software engineers do |
| Datrys Problemau | Solving design and coding problems |
| Gwaith Tim | Developed in tutorials |
| Gwella dysgu a pherfformiad ei hun | From feedback from staff and fellow students through peer assessment |
| Rhifedd | Inherent in the subject |
| Sgiliau pwnc penodol | UML diagrams, code development skills, use of integrated development environments |
| Sgiliau ymchwil | Basic computer use |
| Technoleg Gwybodaeth | Inherent in the subject |
Nodau
Mae'r modiwl hwn yn cydymffurfio a FfCChC Lefel 4
Computer Science,Aberystwyth University, Llandinam Building, Penglais, Aberystwyth,
01970 622424 : +44 : +44 (0)1970 622021
cs-office@aber.ac.uk: cs-office@aber.ac.uk
