Introduction to the Module

Dr Ian Cornelius

Hello

Hello (1)

About the Module

About the Module (1)

  • Introduces some advanced concepts to programming
  • Covers a wide selection of topics relating to programming
  • Introduces a new programming language in the second half of the semester

About the Module (2)

Learning Outcomes

  • On successful completion of this module, a student should be able to:
    1. Understand algorithm efficiency in order to select and implement the most appropriate for a given task
    2. Evaluate patterns and paradigms appropriate for specific tasks
    3. Develop secure software through the application of standards and secure programming principles
    4. Create software that requires multi-threading, inter-process communication, memory management and close interaction with the host operating system
    5. Develop software with a variety of user interfaces

About the Module (3)

Module Schedule i

Lectures

  • Lectures will be an online video disseminated via Aula
    • released on the Friday before the week starts
  • Each week a new topic will be introduced
    • discuss the topic
    • provide some code examples

About the Module (4)

Module Schedule ii

Labs

  • Labs will be held weekly on:
    • Monday, 4pm to 6pm in BSB2-14
    • Wednesday, 9am to 11am in BSB2-14
  • Each week a new lab activity will be released
    • you will be expected to participate and write code
    • support will be provided by lecturers
  • You are expected to engage with the lecturers and support staff
    • be proactive and approach with a problem
    • come with an attempted solution, otherwise you may be pushed-back until you have tried something

About the Module (5)

Lecture Schedule

Week Topic Week Topic
1
  • Introduction to the Module
  • Recapping Python from Year 1
  • Recursive Functions
2
  • Introduction to Computer Vision
  • Image Steganography
3
  • Advanced Data Structures
4
  • Programming Paradigms
  • Threading in Python
5
  • Graph Theory
  • Graph Traversal Algorithms
6
  • Networking in Python
  • RESTful Interfaces and APIs
  • Graphical User Interfaces in Python
7
  • Introduction to C++
  • Variables and Data Types in C++
  • Operators in C++
8
  • Advanced Data Types in C++
  • Conditional and Control Statements
9
  • Functions in C++
  • Classes and Objects in C++
10
  • TBC

About the Module (6)

  • Delivered via two platforms:
    1. Aula
    2. GitHub Pages

Aula

GitHub Pages

  • 5062CEM on GitHub Pages
  • Lectures, assessments and lab activities
    • Content will be released on a weekly basis
  • Mobile friendly
  • Considered to be the most up-to date version of the module

Module Assessment

Module Assessment (1)

  • There are two components for this module:
    1. an individual piece of coursework
    2. another individual piece of coursework
  • Both components will test you on the knowledge learnt during the course of the module

Module Assessment (2)

Coursework 1

  • Learning Outcomes Assessed: 1 and 2
  • Release Date: Semester 2, Week 1
  • Submission Date: Semester 2, Week 6
  • Weighting: 10 credits
  • Submission via Aula using TurnItIn

Module Assessment (3)

Coursework 2

  • Learning Outcomes Assessed: 3, 4 and 5
  • Release Date: Semester 2, Week 6
  • Submission Date: Semester 2, Week 12
  • Weighting: 10 credits
  • Submission via Aula using TurnItIn

Module Assessment (4)

Coursework Submission Guidelines

  • You are required to submit a link to your Coventry University Git Repository
  • The repository must be located in the 5062CEM organisation
  • Provide a copy of the source-code for the finished assessment in either one of the following formats:
    • Microsoft Word Document (docx)
    • Portable Document Framework (pdf)
  • A submission example can be found at the following links:

Microsoft Word Submission Example PDF Submission Example

  • These are important, and you must follow them very carefully.
  • Failure to follow these guidelines will result in a marks being lost as outlined in the marking rubric.

Support for the Module

Support for the Module

Digital Literacy Centre (DLC)

  • Support sessions provided by the faculty
  • Covers not just this module, but other modules and programming languages
  • More information:

DLC GitHub Page

15-Minute Session with Module Leader

  • Support sessions provided by the module leader
  • Covers just this module and only Python
  • Time-limited, first-come-first-served basis
    • module leaders time is shared amongst different modules and year groups

Book a Session

Goodbye

Goodbye (1)

Questions and Support