- F20BC/F21BC - Biologically Inspired Computation
- F20CN/F21CN - Computer Network Security
- F20DL/F21DL - Data Mining and Machine Learning
- F20GA/F21GA - 3D Graphics and Animation
- F20IF/F21IF - Information Systems Methodologies
- F20RO/F21RO - Intelligent Robotics
- F20RS/F21RS - Rigorous Methods for Software Engineering
- F20SA/F21SA - Statistical Modelling and Analysis
- F20SC/F21SC - Industrial Programming
- F20AA/F21AA - Applied Text Analytics
- F20AD/F21AD - Advanced Interaction Design
- F20AN/F21AN - Advanced Network Security
- F20BD/F21BD - Big Data Management
- F20DV/F21DV - Data Visualisation and Analytics
- F20EC/F21EC - e-Commerce Technology
- F20FO/F21FO - Digital Forensics
- F20GP/F21GP - Computer Games Programming
- Knowledge of Fundamentals of Linear Algebra, especially vector and matrix operations
- Matrix Introduction - Math Insight
- Matrix Vector Multiplication - Math Insight
- Basics of Calculus, especially calculating derivatives and chain rule derivative
- Differentiation - Khan Academy
- Chain Rule Introduction - Khan Academy
- Probability and Statistics
- Probability & Statistics - Open Learning Initiative
- Statistics (STAT 516) - Purdue University
- Basic Probability Theory and Statistics - Towards Data Science
- Statistics and Probability - Khan Academy
- Any programming language with vector operations, preferably Python or Matlab. But Java can also do (however, you will miss the vector operations, unless you use a library such as jama).
-
- Python for Beginners - Programming with Mosh (YouTube)
- Python Tutorial - Full Course - Programming with Mosh (YouTube)
- Python Courses - python-course.eu
-
Some knowledge of data structures basic (Arrays, LinkedList, Stacks, Queues) and advanced (Disjoint Sets, Self-Balancing Trees, Segment Trees, Tries, quadtree...).
These are needed to understand implementation of meta-heuristic algorithms.
- F28PL Python resources
- Python Essential Training - LinkedIn Learning Course
- Python Quick Start - LinkedIn Learning Course
- BashGuide
- Learning Linux Command Line - LinkedIn Learning Course
- Learning Bash Scripting - LinkedIn Learning Course
- University of Washington: Cybersecurity: The CISO's View - edX Course
- Universidad Carlos III de Madrid: Cyber Security Basics: A Hands-on Approach - edX Course
- University of Washington: Introduction to Cybersecurity - edX Course
- KU Leuven: Web Security Fundamentals - edX Course
- Delft University of Technology: Cyber Security Economics - edX Course
- Computer Security and the Internet: Tools and Jewels from Malware to Bitcoin
- Cryptography: An Introduction
- Handbook of Applied Cryptography
- Security in Computing
Basic knowledge of Python is required. This includes some Python libraries like NumPy, Pandas and Matplotlib. (Scikit-Learn & TensorFlow is a plus)
- Basic Python
This is very brief, and should be followed by completing a further full Python online course of your choice.
- Foundational C# with Microsoft - freeCodeCamp Certification
(Covers all the key basics required to know before the course begins, from ) - Learning C# - LinkedIn Learning Course
- Getting Started as a C# Developer - LinkedIn Learning Path
(Covers almost all the courses suggested in the course page)
- F28PL Python resources
- Crash Course in Python - Coursera
- Basic knowledge of Machine Learning models and Evaluation Criteria
- Preferably take F20/F21DL in Semester 1
- Knowledge of Machine Learning libraries i.e. Scikit-Learn & TensorFlow
- Scikit-Learn Tutorial
- Digital Forensics - My CS - YouTube