Teaching

Over the last decade, I have dedicated much of my time to quality teaching and research as well as to developing courses and educational materials. As a result, I have acquired extensive teaching experience by teaching 17 unique Courses19 different Course-Labs, and conducting 4 workshops on different topics.

Recent Courses Taught (19)

  • 2019-20Fall

    Computer Vision (GEIT2421) - Taught 4 times

    How can computers understand the visual world of humans? How should we develop and apply the existing algorithms so that computers can ‘understand’ or ‘recognize’ objects in a given image. This course deals with these kinds of issues where perception is formed from a given image. Introduction to the basic concepts in computer vision. Students should be able to perform basic image analysis using algorithmic techniques. Students learn how to use MATLAB or OpenCV to implement algorithms related to computer vision.

  • Summer2019

    Artificial Intelligence (COSC 4362) - Taught 5 times

    The course presents an overview of artificial intelligence and its methods for solving problems. Basic algorithms for finding solutions to problems or adaptively improving responses to situations are discussed. Expert systems, genetic algorithms, and intelligent agents are among the areas that are explored.

  • 2020Spring

    Machine Learning (ITAP/COEN 4393)

    This course is about how to make computers automatically learn from data. It is also about finding patterns in data so that computers can solve difficult problems with the help of observed patterns.

  • Spring2019-21

    Computer Graphics (GEIT 2421) - Taught 4 times

    This course aims to introduce output primitives and their attributes and apply 2D and 3D geometric transformations. This course also introduces 2D and 3D viewing, representing 3D objects and rendering their surfaces. Illumination models will also be introduced.

  • Summer2016-21

    Computer Organization (GEIT 1311) - Taught 9 Times

    This course examines the functional components of computer systems. Topics discussed include processors, memory types and hierarchies, buses, I/O, interrupts, etc. with emphasis on how they affect program execution, parameter passing and inter-program communications between programs written in diverse languages.

  • Spring2018-21

    System Programming (COSC 3411) - Taught 7 Times

    Systems programming is the study of the basic programming principles and skills for building systems software, including the introduction to UNIX, shell programming, and Perl programming.

  • Spring2017

    Web Server Management (ITAP 3471)

    The primary objective of this course is to give students a comprehensive overview of the tools and techniques needed to successfully administer Web servers. The course is designed so as to cover topics that are relevant to the role of a Web server administrator. Topics include installation, configuration, and administration of Web servers on common hardware/software platforms.

  • 2019Fall

    Business Intelligence (ITAP 3382)

    The objective of this course is to give students an understanding of key issues involved in business intelligence applications in organizations. The course is designed so as to cover topics that are relevant from a business intelligence perspective. It is oriented toward the provision of online access to aggregate data analysis results to a variety of physically distributed organizational users. It includes a mix of lectures (some of which are conducted in the laboratory) and discussions on contemporary articles from industry publications.

  • 2020Spring

    Introduction to Cryptography (COSC 3354)

    This course has both theoretical and practical aspects. Students develop principles behind modern cryptography. They gain an understanding of and appreciation for cryptographic applications in network security. This course makes an extensive use of the PMU infrastructure to provide communication between faculty and students. While the course does not include a structured laboratory component, practical assignments/projects are assigned to ensure students gain relevant practical exposure.

  • 2022Summer

    Requirements Engineering (SOEN 3311)

    This course exposes students to the problem of determining and specifying what a proposed software system should do, why and for whom the system is needed—not how the system should do it, which is the topic of downstream software engineering activities such as design and implementation. The course will discuss concepts for systematically establishing, defining, and managing the requirements for a large, complex, changing and software-intensive systems, from technical, organizational. and management perspectives. The course will consider the past, present, and future paradigms and methodologies in requirements engineering. The course will involve building models of both requirements engineering process and requirements engineering product, concerning both functional and non-functional goals/requirements/specifications, using a systematic decision-making process.

  • 2020Summer

    Building Electronic Commerce (MISY 4331)

    This course focuses on the concepts and issues of electronic commerce. Nothing in modern history has influenced the way that we do business more than the Internet. New business models using e-commerce are discussed in specific business situations. Students design and build a Web site using HTML5, anc web programming techniques. New business models using e-commerce are discussed in specific business situations. Students analyze business situations, design ecommerce operations, build ecommerce using turnkey solutions, monitor the system using ecommerce analytics and commercialize their application using digital marketing techniques.

  • Fall2015

    Introduction to Computing (GEEN 2312)

    This course is an introduction to computer systems, problem solving methods and algorithm development. Structured programming is taught using the programming language C, or C++, and JAVA. It includes designing coding, debugging and documenting programs using techniques of software development cycle. MATLAB, a tool that enables students to solve mathematical problems, is also taught.

  • 2022Spring

    Computer Science I (GEIT 1411)

    The course is an introduction to programming and to the use of algorithms in designing programs. A software engineering approach to developing computer programs is stressed and object-oriented concepts are introduced. The course examines standard control structures, approaches to modularization, and the use of primitive and structured data types.

  • Summer2018

    Electronic Commerce Security (MISY 4342)

    In this course, students learn the basic elements of Electronic Commerce Security. Topics to be covered in this course include, but are not limited to: fundamentals of e-business security, client-side vulnerabilities, securing the data transaction, securing the commerce server, securing the e-business architecture, and impacts of denial of service attacks on e-commerce security.

  • Fall2016-17

    Introduction to Information Technology (ITAP 1311) - Taught 2 Times

    This course is designed to provide the students with an introduction to information systems. It includes a discussion of the fundamental principles, generalizations, and theories of Information Technology. Students are exposed to many of the areas of information Technology including databases, telecommunications, Networking, software and hardware concepts, and information security.

  • Fall2016

    Introduction to Computer Concepts and Applications (ITLB 1311) - Taught 7 Times

    ITAP 1311 is designed to provide the students with an introduction to information systems. It includes a discussion of the fundamental principles, generalizations, and theories of information technology. Students are exposed to many of the areas of information technology including databases, telecommunications, networking, software and hardware concepts, and information security.

  • Spring2016

    Computer Network Security (DNET 2333) - Taught 2 Times

    This course examines the basic principles, techniques and technologies associated with securing local area networks. Topics covered include security threats, data protection including cryptography and authentication, a review of network security applications and techniques for the management of intruders, malicious software and other internal and external threats to the network

  • Fall2016

    Introduction to Computer Network Security (Diploma Students)

    This course covers the architecture and protocols of local and wide area networks, including signaling, data representation, error control, flow control and routing. The Java-based interprocess communication API is used to provide practical examples of communication, error control and flow control. Peer to peer and client/server configurations based upon Unix/Linux and Windows architectures are explored. This course concentrates on theoretical and technical issues. Students in this course enhance their interpersonal and group effectiveness skills.

  • Fall2015

    Marketing Research (MBA 6122) - MBA Students Technical Sessions

    This course introduces students to the concept and importance of market research as a powerful tool in strategic decision-making. It emphasizes market research tools, data gathering, analysis, and results interpretation. It cover introduction in market research, designing market research including sampling techniques, process of gathering information, information analysis and data presentation, preparing the final report and communicating results.

Course Labs Conducted (19)

  • Fall2017-18

    Digital Signal Processing (COEN 4322) - Taught 2 Times

    TOPICS COVERED: Basics of MATLAB, Scripts, Plots and Functions, Selection Statements, If and Switch, For Loops, Discrete-Time Fourier Transforms (DTFT), Discrete-Fourier Transforms (DFT), Convolution, Auto and Cross Correlation, Transforms, Sampling and Aliasing Effects

  • Spring2017-18

    Electronics I (COEN 3421) - Taught 4 Times

    TOPICS COVERED: Diode Characteristics, Zener Diode Characteristics, The Half-Wave Rectifier, Full-Wave Rectifier, Output Characteristics of a BJT Common Emitter, Output Characteristics of a Field-Effect Transistor, BJT Common Emitter Amplifier Setting Up The Rest Point, Field-Effect Transistor Amplifier.

  • Fall2018

    Digital Logic Design / Digital Systems (COEN-3323)

    TOPICS COVERED: Measurement of Digital Logic Gates, Implementation of Basic XOR Gates, AND-OR-INVERTER (A-O-I) GATE, Half and Full Adder Circuits, Half and Full Subtractor Circuits, Comparator Circuit, Encoder and Decoder Circuits, Multiplexer and Demultiplexer Circuits, Flip-Flops R-S And D Flip-Flop, Flip-Flop J-K Flip-Flops.

  • Fall2017

    Circuits I (COEN 2411) - Taught 4 Times

    TOPICS COVERED: Current and Voltage, Resistance and OHM’s LAW, Resistor Networks, Superposition Theorem, Thevenin’s Theorem, Capacitors in Series and Parallel, Power, Inductance, Resistive Circuit at AC, Capacitive Circuit at AC, Inductive Circuit at AC.

  • Spring2016

    Embedded Systems (COEN 4413) - Taught 10 Times

    TOPICS COVERED: Arduino LED Blink, Arduino LED Fading (Analog Output), Arduino Push Button (Digital I/O), Arduino Tones and Claibrating Sensors, Arduino Servo Motor Control, Arduino LCD and Serial Input, Arduino Analog Input, Arduino Keyboard and Mouse Control, Raspberry Pi: Raspbian OS Installation, Raspberry Pi: Python Programming, Raspberry Pi: GPIO

  • Fall2015

    Synthesis with Hardware Descriptive Languages (COEN 4471) - Taught 2 Times

    TOPICS COVERED: Xilinx VHDL Basics Tutorial, Half and Full Substractor, MultiplexerCounters, Structural and Behavioral Dataflow Modeling, Schematic Input Introduction, Schematic Input Introduction, Shift Registers, Creating Packages in VHDL, Creating Packages in VHDL, Creating Packages in VHDL

  • Spring2016

    Cloud Computing (ITAP 4315) - Class Sessions

    TOPICS COVERED: Basic concepts of Cloud Computing in terms of Application Development, Deployment and Management, Cloud setup architecture designing based on the application requirements, Amazon Web Services basics (Background/Pricing/Regions/OS) and overview of other cloud service providers, Setup of the AWS EC2 Compute Instance, AMI- OS Image Management, Setup of S3 Storage, CloudFront, Elastic Transcoder, RDS and SES Cloud Services, Setup of VPC, Route53, Security Management (IAM, Security Groups, Polices, SNS), Application Deployment and Integration over Cloud Infrastructure

  • Spring2017

    Network Management (ITAP 2431)

    TOPICS COVERED: Network and Transport Layers Laboratory exercises, Network and Transport Layers, Local Area Networks, Wireless Area Networks, Physical Layer & Data Link Layer, Backbones, Wide Area Networks

  • Spring2017-18

    Web Server Management (ITAP 3471) - Taught 2 Times

    TOPICS COVERED: Window Server 2012: Introduction to Window Server 2012, Window Server Edition, Desktop changes, Active Directory changes, Networking changes and Management tools, Preparing for server installation and configuration: Identify server categories and evaluate server components, Planning for system disasters and recovery, Understand the installation process, Install Windows Server 2012 R2, set up IP addressing and configure TCP/IP, Install and configure domain name server (DNS), Install and configure IIS, C. Managing a Web server: User authentication, manage users, groups, and file system permissions, Share resources in a network, Enforce network policies, Securing a Web server: Identify threats and vulnerabilities, Secure data transmission, OS, and server applications, Authenticate Web users, Performance tuning: Monitor Web servers and Web applications, Analysis tools for Web servers.

  • Fall2015-17

    Programming Languages (COSC 4461) - Taught 4 Times

    TOPICS COVERED: Lisp: Syntactic Structure, Context-Free Grammars, Grammars for Expressions, Structured Programming, Syntax, Control Flow, Data Representation, Types, Arrays, Procedure Activation, Parameter-Passing Methods, Object Oriented, Grouping of Data and Operations, Objects, Inheritance Semester Break, Functional Programming, Types, Expression Evaluation, Functional Programming: Lists, Logic Programming, Prolog: Data Structures, Programming Techniques

  • Fall2015-19

    System Programming (ITAP 3411) - Taught 7 Times

    TOPICS COVERED: Linux Introduction and Ubuntu Installation, Linux commands for Files and directories manipulation, Linux commands for System Users Management , UNIX Shell Programming practice, Introduction to C Programming, Pointers, memory allocation, and functions in C, Introduction to Systems programming in C (file manipulation, etc), Process Control in C, Introduction to Python Programming, File manipulation and task Automation using Python, Modules in Python.

  • Spring2019

    Web Programming (ITAP 1312)

    TOPICS COVERED: HTML Basics, Introduction to XHTML, Cascading Style Sheets™ (CSS), JavaScript: Introduction to Scripting, Introduction to Scripting Laboratory exercises, Control Statements I, Control Statements II, Functions, Arrays, Objects, Document Object Model (DOM): Objects and Collections

  • Fall2016

    Data Structures (GEIT 2421)

    TOPICS COVERED: Basic data structures – review exercises in basic data structures, Time complexity – exercises in estimating time complexity of algorithms by measurement, Performance bounds – exercises in estimating performance bounds of algorithms by measurement., Sorting– merge sort, quick sort, and heap sort, Dictionary – Binary search tree and AVL tree, B tree, Breath-first search, Depth-first search, Topological sort, Hashing – hash tables and functions, collision resolution

  • Fall2015-17

    Computer Science 1 (GEIT 1411) - Taught 4 Times

    TOPICS COVERED: Introduction to Java Application, Introduction to classes, Objects, Methods and String, Control Statements: part 1, Control Statement: part 2, Methods: A deeper look, Arrays and Array Lists.

  • Fall2015-18

    Computer Science 2 (GEIT 1412) - Taught 5 Times

    TOPICS COVERED: List, define and contrast basic object oriented concepts, including classes and public/private membership, File i/o with advanced data types, Linked lists and recursion and utilize as efficient solutions to specific problems, Advanced object oriented constructs including Inheritance, Polymorphism and Interfaces.

  • Spring2009-10

    Software Engineering (TA)

    Dr. Arshad Ali Shahid, Dr. Shafiq-ur-Rehman

  • Fall2008

    Numerical Analysis (TA)

    Dr. Muhammad Ali

  • Spring2010

    Digital Image Processing (TA)

    Dr. Arfan Jaffar

  • Fall2009

    Linear Algebra (TA)

    Dr. Hina Khan

CISCO Certified Instructor:

  • 1
    IT Essentials: PC Hardware and Software
  • 2
    CCNA R&S: Introduction to Networks
  • 3
    CCNA R&S 6.0 Bridging
  • 4
    CCNA Discovery 1: Networking for Home and Small Business
  • 5
    CCNA Exploration 1: Network Fundamentals
  • 6
    Networking Essentials
  • 7
    Introduction to the Internet of Everything
  • 8
    Introduction to IoT
  • 9
    Entrepreneurship
  • 10
    Introduction to Cybersecurity
  • 11
    Cybersecurity Essentials

Allowed to teach 22 CISCO Courses

  • 12
    CISCO - Get Connected
  • 13
    Community: Smart Grid Essentials
  • 14
    CISCO - Be Your Own Boss
  • 15
    Packet Tracer Know How 1: Packet Tracer 101
  • 16
    Packet Tracer Know How 2: Packet Tracer Mobile
  • 18
    CISCO Partner: NDG Linux Essentials
  • 17
    Mobility Fundamentals
  • 19
    CISCO Partner: NDG Linux I
  • 20
    CISCO Partner: NDG Linux II
  • 21
    CPA - Programming Essentials in C++
  • 22
    CLA - Programming Essentials in C

Workshops Conducted

  • July2019

    Linux Administration (Ministry of Communication and Information Technology, Saudi Arabia)

    Linux Server Administration: Hands-on Practical Experience 1 Week Practical Workshop - 5 Hours Daily

  • Nov.2018

    System On Chip: Raspberry Pi (Prince Mohammad bin Fahd University, Saudi Arabia)

    Workshop on building Internet of Things projects based on Raspberry Pi

  • March2018

    Java Programming for Advance Learners (Prince Mohammad bin Fahd University, KSA)

    Two days workshop on Advance topics in Java as part of Java Programming Competition

  • Sept.2017

    Python Programming for IoT (Prince Mohammad bin Fahd University, KSA)

    Practical training Workshop on Python programming for Internet of Things (IoT)