Programming Using an Object-Oriented Language

Cod y Modiwl
CS12320
Teitl y Modiwl
Programming Using an Object-Oriented Language
Blwyddyn Academaidd
2027/2028
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:

  1. Describe and explain the key differences between procedural and object oriented programming.
  2. Find objects, classes and methods based on a problem statement, thereby showing aptitude to apply the concepts of abstraction and encapsulation.
  3. Map UML use-case, class and sequence diagrams onto object-oriented code.
  4. Develop a non-trivial object-oriented program that contains a graphical user interface, thereby demonstrating the ability to deal with simple event-driven programming.
  5. Demonstrate the ability to apply the concepts of composition, inheritance and polymorphism.
  6. Demonstrate in object-oriented code how to handle error conditions.
  7. 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