module specification

CS5054 - Advanced Programming and Technologies (2022/23)

Module specification Module approved to run in 2022/23
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
 
35 hours Assessment Preparation / Delivery
70 hours Guided independent study
45 hours Scheduled learning & teaching activities
Assessment components
Type Weighting Qualifying mark Description
Coursework 50%   Group work: 1300 words + software (or equivalent) per student
Unseen Examination 50%   Unseen Exam Hours
Running in 2022/23

(Please note that module timeslots are subject to change)
Period Campus Day Time Module Leader
Spring semester North Thursday Morning

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.

Assessment strategy

The module is assessed firstly by one piece of coursework which will be a group work coursework. It involves  analysing, designing, implementing, testing and documenting software applications, aiming at developing students’ skills and knowledge, problem-solving ability. Produced work from coursework will be assessed by report and implemented software, and viva in the workshop. Feedback will be given face-to-face and in written form as well.

The second assessment component is an examination at the end of the semester [LO1-LO6], whose purpose is to test fundamental understanding of theories and practices of programming.

Consistent with University policy, formative and summative feedback will be provided at various points throughout the module teaching period.

Bibliography

https://rl.talis.com/3/londonmet/lists/783421BA-6C1A-91E2-8E12-0C86382D2271.html?lang=en-GB&login=1

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