This course is a Template, please add your description and change the course photo.

This module is intended to provide in-depth the fundamental principles and processes of software testing. The goal of the course is to provide students with the skill to select and apply a testing strategy and testing techniques that are appropriate to a particular software system or component. In addition the student will become a capable user of test tools; will have actively created test cases and run them using an automated testing tool. You will being writing and recognizing good test cases, including input data and expected outcomes.

This course will discuss the major ideas used today in the implementation of programming language compilers, including lexical analysis, parsing, syntax-directed translation, abstract syntax trees,  program optimization, code generation, and runtime systems. As a result, you will learn how a program written in a high-level language designed for humans is systematically translated into a program written in low-level assembly more suited to machines. 

Level: L2

This course is a Template, please add your description and change the course photo.

Level: L2

This course will introduce the learner to applied machine learning, focusing more on the techniques and methods than on the statistics behind these methods. By the end of this course, students will be able to identify the difference between a supervised (classification/regression) and unsupervised (clustering) technique, identify which technique they need to apply for a particular dataset and need, engineer features to meet that need, and write python code to carry out an analysis.

Level: L2