This course aims to provide an introduction on MATLAB® programming language and dealing with MATLAB® software from MathWorks® Corporation, in order to make this software the basic tool in data analyzing, processing and visualization, solving mathematical problems and simulating communications systems. This course includes an introduction to fundamentals of MATLAB® programming language like using variables and functions that are available within the software libraries, building function to perform specific tasks and dealing with matrices, which are the basic element in simulation process, and using them in data representation and signal processing. The course also aims to teach how to create Graphical User Interface GUI, working with Simulink® to simulate systems, in addition getting to know about Toolboxes which allow users to perform simulation for communications systems and their parts in order to understand and apply the concepts of signal processing, digital and analogue communications. Code Intended Learning Outcomes: - Getting to know about the software, and mastering the fundamentals of MATLAB® programming language. - Using the software libraries functions, those are related to various mathematical, signal processing and communications concepts, commensurate with the needs of the user. - Building Functions programmatically in order to solve some mathematical or engineering problems. - Dealing with data (analysis, import, export data, extract the results and visualize it), and dealing with the data structures of all kinds. - Using Simulink® in simulation processes. - Dealing with signals, images and sound files, and applying some mathematical concepts that are related to statistics, linear algebra and integration. - building Graphical User Interface and getting to know about the software Toolboxes that are related to the concepts of signal processing, statistics and probability, digital and analogue communications.