Mshabab Alrizah

Teaching

 is our art and our lofty message

‘Education is not the filling of a pot but the lighting of a fire.’ –W.B. Yeats

Our strategies of teaching

We teach the course following the course specifications and policies provided by:

  • Education & Training Evaluation Commission (ETEC), the KSA.
  • Pennsylvania State University, State College, the USA 

The following are the courses I teach/taught recently:

Operating System

Description: The course is designed to provide the students with an overview of operating system basic concepts. It will begin with an overview of the structure of modern operating systems. The other specific topics are process concepts, algorithms for CPU scheduling, process synchronization, and deadlocks.

Last semester teaching: Unfortunately, we won’t teach the course this semester.

computer organization & architecture

Description: The course is designed to provide the students with an overview of operating system basic concepts. It will begin with an overview of the structure of modern operating systems. The other specific topics are process concepts, algorithms for CPU scheduling, process synchronization, and deadlocks.

Last semester teaching: Fall 2021

Algorithms and Data Structures 1

Description: The course aims to introduce the students to the principles of efficient algorithms to enhance their programming skills. Data Structures (Stacks, queues, strings, and trees) are described as abstract data types with their methods by training extensive examples and applications. Designing and analyzing different searching and sorting algorithms are objectives to improve the student’s skills. A brief introduction to binary trees and graphs is also covered.

Last semester teaching: Unfortunately, we won’t teach the course this semester.

Algorithms and Data Structures 2

Description: This course advances the programming concepts and topics studied in 115CSM-Data Structures and Algorithms -I. The course develops the student’s understanding and abilities when using advanced programming concepts and techniques in a wide variety of computer science and real-world problems, intending to achieve an efficient implementation for solving a given problem. The main topics covered in the course include Algorithm analysis and implementation, recursion, trees & traversals, graphs, hashing.

Last semester teaching: Fall 2021

Advanced Object Oriented Programming

Description: This Course on Java Programming is designed to provide extensive hands-on experience writing, compiling, and executing Java programs. Students will learn to build robust applications that use Java’s object-oriented features. Java is known for reliability, maintainability, and ease of development. Its unique architecture enables programmers to develop a single application that can seamlessly run across multiple platforms.

Last semester teaching: Fall 2021

Data Warehousing and Data Mining

Description: This course provides advanced aspects of data warehousing and data mining (design, management, acquisition, analysis, query, mining, and visualization). The main objective is to focus on serving the informational and analytical needs of the academic and an enterprise.

Last semester teaching: Fall 2021

Microprocessor and Assembly Language

Description: This course introduces microprocessors, an instruction set of microprocessors, assembly language programming, and machine language concepts. Internal communication structure, memory interface components, Input-Output processors, Direct Memory Access technique are discussed. The role of interrupts and interrupt handling techniques are also introduced. The students are given training in developing assembly language programs for simple problems during the theoretical and practical sessions.

Last semester teaching: Fall 2021

Theory of Compilers

DescriptionAll the software running on computers or smart devices is written in some programming languages. However, the source code of the software must be translated into a form that allows the machine to understand and execute it. The compiler is a software system that is in the middle between the source code and the machine and does the translation. In this course, we teach compilers from different perspectives and angles. The course contains a lot of lessons, activities, and fun that help you to understand your code in-depth how the machine sees your code!

Last semester teaching: Fall 2021

NET, C and ASP.NET Security Development Training

Description:

The aim of this course is to teach developers through numerous hands-on exercises how to prevent untrusted code from performing privileged actions, protect resources through strong authentication and authorization, provide remote procedure calls, handle sessions, introduce different implementations for certain functionality, and many more.

The introduction of different vulnerabilities starts with presenting some typical programming problems committed when using .NET, while the discussion of vulnerabilities of the ASP.NET also deals with various environment settings and their effects. Finally, the topic of ASP.NET-specific vulnerabilities not only deals with some general web application security challenges, but also with special issues and attack methods like attacking the ViewState, or the string termination attacks.

Last semester teaching: Summer 2021

Internet applications

Description: The course aims to introduce the Internet and internet services,   and focuses on web services. Besides, the course provides in-depth details of the internet functions and services such as electronic mail (e-mail), the internet protocols, the servers, the browsers, domain names, internet connections, and Web page design using HTML and CSS.

Last semester teaching: Spring 2021

Network monitoring and maintenance

Description: The course targets to provide a concrete basis to understand network maintenance and monitoring. The basis depends on keeping abreast of technology development and market needs. The methodology to achieve the target is by providing the student with the basic skills to install and operate the necessary programs to monitor and maintain networks and how to deal with urgent problems, as well as observing the performance of the network and proposing the necessary solutions to increase its efficiency.

Last semester teaching: Spring 2021