module specification

CS5004 - Emerging Programming Platforms and Technologies (2018/19)

Module specification Module approved to run in 2018/19
Module title Emerging Programming Platforms and Technologies
Module level Intermediate (05)
Credit rating for module 30
School School of Computing and Digital Media
Total study hours 300
 
90 hours Scheduled learning & teaching activities
139 hours Guided independent study
71 hours Assessment Preparation / Delivery
Assessment components
Type Weighting Qualifying mark Description
Group Coursework 30%   Group Coursework: 1300 words plus software or equivalent per student
Coursework 30%   Individual Coursework: 1300 words plus software or equivalent per student
Unseen Examination 40%   Unseen exam 2 hrs
Running in 2018/19
Period Campus Day Time Module Leader
Year North Monday Morning

Module summary

This module will introduce students to major contemporary programming platforms and technologies and provide them with practical understanding and techniques, to tackle   programming issues related to the program scale, complexity and programming productivity. Studying the module will also enable students to evaluate, select and employ suitable platform(s) and technologies for program design and implementation for both stand-alone and web-enabled applications.

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.

Prior learning requirements

Successful completion of level 4 or equivalent

Syllabus

 Comparative introduction of major industrial standard technologies for example: Java technologies, Microsoft.NET, and Open source (e.g. PHP & MySQL) from business and technological perspectives. LO1,LO3,LO5,LO6
 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,LO6
 Programming with software components and frameworks, e.g. Java beans, visual development framework, data persistence framework, XML, PHP, 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,LO5,LO6
 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, connect to databases, and programming CRUD operations, including SQL, data persistence and displaying data LO2,LO3,LO5,LO6
 Web application development through programming technologies (using an IDE, e.g. Eclipse), e.g. LO3,LO4,LO5
 XML concepts, creating and validating XML documents
 Extensible Stylesheet Language (XSL), XSL Transformations (XSLT), Computational Style Sheet (CSS), and XML as a data source
 Integrate XML with other languages, e.g. Java, for web applications
 Features of open source platforms, e.g. PHP and MySQL, LO3,LO4,LO5
 Open source platforms concept
 Database driven application with open source and a chosen IDE, e.g. NetBeans, for PHP and MySQL
 Connecting to a MySQL database
 Ajax for PHP web application

Balance of independent study and scheduled teaching activity

The module will be taught by a combination of lectures and workshops, composed of 1 hours lecture, 2 hours in computer lab each week. The lectures will introduce the main concepts, methods and techniques for emerging programming platforms. 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 discuss forum is available via WebLearn. Student peer support is also available from the module lecturers in their office.

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 and web/enterprise applications.
LO4:  demonstrate an understanding of XML concepts, and appreciate the role of XML, AJAX and their applications.
LO5: understand the role of open source technologies, development trends, potential benefits and limitations, and use an open source platform and database connection in real development scenarios.
LO6:  evaluate, select and use suitable platforms and technologies for program           assignments and case studies.

Assessment strategy

There are two pieces of coursework. The first one will be a group work part and the second will be an individual work. Both will involve 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 as well.

The third assessment component is exam in the end of the year [LO1-LO6].

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

Bibliography

Where possible, the most current version of reading materials is used during the delivery of this module.  Comprehensive reading lists are provided to students in their handbooks.  Reading Lists will be updated annually.

Textbooks:

Core Text:
• Horstmann, C., 2016; Big Java Late Objects, 2nd edition. John Wiley & Sons.
• Carey, P., 2014; New Perspectives on XML, Comprehensive 3rd Edition; CENGAGE Learning; ISBN-13: 978-1285075822; or, Carey, P (2008); New Perspective on XML, 2nd edition; Course Technology, CENGAGE Learning; ISBN-10: 1-4188-6064-6
• Ullman, L., 2012; PHP and MySQL for Dynamic Web Sites; Peachpit Press; ISBN-10: 0-321-78407-3

Other Texts:
• Horstmann, C., 2016, Big Java Late Objects, 2nd edition. John Wiley & Sons.
• Lewis, J.,‎ DePasquale, P.,‎ Chase, J., 2016, Java Foundations: Introduction to Program Design and Data Structures. 4th edition, Pearson.
• Nixon, R. 2018; Learning PHP, MySQL & JavaScript 5e. O'Reilly Media


Journals:
• The Computer Journal of the British Computer Society, ISSN 1460-2067 (Electronic); Publisher: Oxford : Oxford Journals, Oxford, UK : Oxford University Press.

Websites:
• Netbeans’ Java EE & Java Web Learning Trail https://netbeans.org/kb/trails/java-ee.html
• Safari Books Online
• W3Schools: https://www.w3schools.com

Electronic Databases:
• ACM Digital Library
• IEEE Xplore/IET Digital Library
• Wiley Online Library

Social Media Sources

Other
• Linda.com