BSc Computer Science and Mathematics / Course details
Year of entry: 2023
- View tabs
- View full page
Course unit details:
Introduction to Programming 2
|Unit level||Level 1|
|Teaching period(s)||Semester 2|
|Offered by||Department of Computer Science|
|Available as a free choice unit?||No|
|Unit title||Unit code||Requirement type||Description|
|Introduction to Programming 1||COMP16321||Co-Requisite||Compulsory|
To specify, design, test, develop, deploy, debug and run programmes of a significant
complexity using an object-oriented language (ie Java) and its standard platform. To identify
the strengths and weaknesses of the paradigm and the language.
- To identify the fundamental building blocks of new programming languages in general
- Identify the advantages of object-oriented programming.
- Design classes using the UML notation and write the code of a specified class.
- Explain and implement object oriented concepts including inheritance, polymorphism, interfaces and abstraction.
- Identify appropriate situations for reading/writing files from an application, be able to make secure, robust calls out to the relevant file-handling libraries in Java.
- Use data structures of the Java Collections Framework, and create your own data structures.
- Build interactive graphical applications using JavaFX that respond to user events and consider some basic usability concerns. Use custom components to achieve these goals where appropriate.
- Describe the benefits of grouping files into packages. Create and deploy packages, use existing libraries.
- Apply concepts above to existing programming language knowledge, i.e. Python.
Week 1: Crash course on Java I
Week 2: Crash course on Java II
Week 3: Working with input/output and String handling
Week 4: Advanced Object Oriented Programming
Week 5: Error and file handling
Week 6: Reading week: security
Week 7: Introduction to building GUIs with Java
Week 8: Generics
Week 9: Data Structures I
Week 10: Building GUIs with Java and multithreading
Week 11: Data Structures II
Week 12: Revision
Teaching and learning methods
Lectures, workshops, clinics, coursework, face to face mentoring by TAs. Use of online quizzes.
|Practical skills assessment||50%|
COMP16412 reading list can be found on the Department of Computer Science internal pages
|Scheduled activity hours|
|Practical classes & workshops||36|
|Independent study hours|
|Markel Vigo||Unit coordinator|