CS5054 - Advanced Programming and Technologies (2024/25)
Module specification | Module approved to run in 2024/25 | ||||||||||||
Module title | Advanced Programming and Technologies | ||||||||||||
Module level | Intermediate (05) | ||||||||||||
Credit rating for module | 15 | ||||||||||||
School | School of Computing and Digital Media | ||||||||||||
Total study hours | 150 | ||||||||||||
|
|||||||||||||
Assessment components |
|
||||||||||||
Running in 2024/25(Please note that module timeslots are subject to change) |
|
Module summary
This module will introduce students to more complex programming problems, such as the manipulation of fundamental data structures, various important algorithms, such as sorting and searching, and provide them with practical understanding and techniques, to tackle object-oriented programming issues related to the program scale, complexity and programming productivity. The module will also enable students to evaluate, select and employ suitable software development tools and technologies for program design and implementation.
The module aims to:
address programming issues when the program size increases e.g. complexity, scalability and productivity.
familiarise students with major programming platforms/technologies to handle the addressed issues
Class libraries, APIs
Components
Frameworks
Development platforms and current IDEs
enable students to evaluate, select and use suitable programming technologies for program design and implementation.
Syllabus
• Comparative introduction of major industrial standard technologies for example: Java technologies, Microsoft.NET from business and technological perspectives. [LO1, LO3, LO4, LO5]
• Common data structures concepts and using the chosen programming language, e.g. Java Collections classes/APIs, to implement data structures, e.g., array lists, linked lists, stacks, queues, sets, etc. [LO1,LO2, LO5]
• Programming with software components and frameworks, e.g. Java beans, visual development framework, data persistence framework, etc. [LO2,LO3, LO4, LO5]
• Features of, and hands-on skills to use, the chosen platform integrated development environment, e.g. NetBeans and/or Eclipse. [LO1, LO2, LO3, LO4, LO5]
• Object-oriented Java visual programming and use of components and frameworks in an IDE, e.g. NetBeans or Eclipse, to build graphical UIs using visual components, create/implement functional operations, such as data persistence and displaying data [LO2, LO3, LO4, LO5]
Balance of independent study and scheduled teaching activity
The module will be taught by a combination of lectures and workshops, composed of 1 hour lecture, 2 hours in computer lab each week. The lectures will introduce the main concepts, methods and techniques for advanced programming and technologies. While doing the tasks in the workshop, students will have the opportunity to discuss in more detail some of the theoretical and technical issues raised during the lecture. In the workshops the students will apply programming IDEs and techniques to produce design models and software prototypes based on specified tasks/scenarios. Online discussion forum is available via WebLearn. Student support is also available from the module team, outside the module hours.
Learning outcomes
On successful completion of this module, students will be able to:
LO1: know and understand a range of programming concepts, techniques, class libraries and tools which are used to build sizable programs.
LO2: demonstrate a practical understanding of common data structures and apply collection classes APIs to implement data structures in their programs.
LO3: appreciate key features, advantages and drawbacks of current IDEs, and demonstrate practical skills in using an IDE to develop programs of their own using third party components, application frameworks such as visual GUI builder, data persistence.
LO4: understand and be familiar with the principles of object-oriented programming in real development scenarios.
LO5: evaluate, select and use suitable platforms and technologies for program assignments and case studies.
Bibliography
Textbooks:
Core Text:
• Horstmann, C., 2017; Big Java: Late Objects; John Wiley & Sons; ISBN:978-1119398721
Other Texts:
• Lewis, J., DePasquale, P., Chase, J., 2016, Java Foundations: Introduction to Program Design and Data Structures. 4th edition, Pearson.
Websites:
• W3Schools: https://www.w3schools.com
• Netbeans’ Java EE & Java Web Learning Trail https://netbeans.apache.org/kb/docs/java-ee.html
• Safari Books Online
Electronic Databases:
• ACM Digital Library
• IEEE Xplore/IET Digital Library
• Wiley Online Library