Course: BSc Programming skills | Grŵp NPTC Group Moodle

  • General

    banner

    Programming Skills

    These sessions will help you develop your programming skills in both Java and PHP environments.  The objective is to improve your understanding of programming techniques and practices in a number of languages.  The sessions will specifically cover concepts and techniques which will be especially useful to you should you decide to continue to the BSc programme after completing your HND.

  • Open all

    Close all

  • Instructions: Clicking on the section name will show / hide the section.

  • 1

    Session 1: Introduction and configuration.

    This first session will set out what you can expect to gain from these sessions as well as providing a snapshot of what will be covered.  The remainder of this session will focus on preparing your personal programming environment for the remainder of the unit.

  • 2

    Sessions 2 and 3: Loading and saving text files with Java

    The first Java sessions will walk through the creation of a simple Notepad-like text editor applicaiton.  The aim of the sessions is to introduce application development in Java, the Swing UI interface and Java's data file load/save process.  This initial stage will concentrate on the load/save process and so simple unstructured data files will be used.

  • 3

    Sessions 4 and 5: Semi-structured data forms-CSV

    These sessions will walk through the coding of a simple, single class application which calculates students' unit grades from three assignment scores.  The session will introduce the concept of semi-structured data and the basic CSV (comma seperated value) schema for storing this kind of data.

  • 4

    Session 6: Model, View Controller (MVC) architecture

    This session introduces the concept of the MVC application development architecture.  This is applied to the design of the Result Calculator appication from the last session.  Also covered are concepts such as object-oriented programming and interfaces.

  • 5

    Sessions 7 to 9: Applying MVC and OOP

    In these sessions, a redevelopment of the Result Calculator application is completed.  The project is recreated using the MVC architecture creating logical divisions between functional areas of the application.  An interface will be created between the controller and model layers with the intention of easing the replacement of models as the unit progresses.

  • 6

    Session 10: Semi-structured data forms-XML

    This session builds upon the application developed in the last sessions.  XML is introduced as a technology for semi-structured data store. The session extends the MVC application with a new model which loads and saves the application data in the XML format.

  • 7

    Session 11: Semi-structured data forms-JSON

    This session builds upon the last adding a JAR library and building a class to allow loading and saving of data in the JSON format.

  • 8

    Sessions 12 and 13: Structured data-accessing MySQL

    In these sessions, you will develop a new class for the application which will load and save the data in a structured form and using a local instance of the MySQL RDBMS database server.  You will learn how to use PHPMyAdmin to configure a MySQL instance and how to leverage the MySQL driver JAR to access and use this as an effective datastore for a Java desktop application.

  • 9

    Sessions 14 to 15: Semi-structured data-accessing MongoDB

    In these sessions you will learn the fudamentals of NoSQL database servers which are fast becoming popular as the backend datastore of choice for many hybrid application platforms.  You will code a new connection class which will connect the Result Calculator to an instance of the MongoDB Atlas cloud database.

  • 10

    Session 16: Introduction to PHP

    This session will introduce programming server-side web-based applications using the PHP programming environment as a core component of the XAMMP server environment.  XAMPP additionally includes the Apache webserver and the MySQL RDBMS server amongst other server functionality.

    The session starts with the steps needed to configure a local development environment using XAMPP before moving on to the coding of a simple local game project.

  • 11

    Sessions 17 and 18: Using the PHP Session

    Web applications using PHP differ from the kind of local application built in the Java phase of this unit as the server is remote from the client but is responsible for much of the applicaiton logic.  This topic explores the use of the PHP session, a way of maintaining the state of an interaction between web application and client over multiple requests and operations.

  • 12

    Sessions 19 and 20: Accessing MySQL with PHP

    These sessions will demonstrate how to connect PHP with a MySQL database server.  You will build a simple task list application which demonstrates how HTML, PHP and SQL can all coexist in the same codebase to form a coherent application.

  • 13

    Sessions 21 and 22: OOP in PHP

    These sessions will introduce the application of object-oriented programming concepts in PHP.  The session will discuss how the PHP implementation of OOP differs from that in other high level languages and will demonstrate an example use with the building of a simple user account and authentication system.

  • 14

    Sessions 23 to 25: Working with the Laravel framework

    These sessions will introduce the Laravel PHP application development framework.  Laravel makes use of the MVC application development model to provide a robust framework for Rapid Application Development (RAD) projects.  It will provide a good foundation for more advanced web application development projects.

  • 15

    Sessions 26 and 27: Laravel as an API

    These sessions will extend the previous topic to add API functionality to the Task List application.  The sessions will discuss web API technology and web services.

  • 16

    Sessions 28 and 29: HTML and JavaScript API Client

    The final sessions of the unit introduce another language, JavaScript.  The sessions begin by examining the nature of modern JavaScript (ECMAScript 6) and the distinction between stateful and RESTful applications as well as raising awareness of issues which can be casused by Cross Origin Resource Sharing (CORS).  The sessions will progress to develop a JavaScript client applicaiton for the Task List API completed in the previous sessions.

  • 17
    • Please give us feedback on the unit by completing the questionnaire below: