Teaching

I teach several courses in programming, systems design, computer communications and networking at both graduate and undergraduate levels.

Currrent Teaching

  • Present2018

    CpE 612-495 Capstone Design

    This course contributes a capstone design experience in Computer Engineering. Typically, it would require the student to build on the aggregated knowledge gained in previous years. Students will have design experience involving hardware and/or software systems to meet the desired needs within realistic constraints such as economic, environment, social, political, ethical, health and safety, manufacturability, and sustainability. Students will acquire skills in design tools and practices, functional teaming, oral and written technical communication.

  • Present2017

    CpE 612-395 Computer Systems Engineering

    This course provides an overview of the development of systems in computer engineering; primarily through hands-on design experiences and development of professional skills. The course provides information about the principles, methods and skills that are essential to engineering design. It investigates the concept of a life cycle, nature of life-cycle models, and phases of typical life cycles. The topics covered include quality issues, process, issue of teams, team selection, roles in teams, elements of teamwork, selection of support tools, standards, technologies, techniques and approaches associated with the different phases, special problems of design and the issues associated with tradeoffs, special problems of hardware/software tradeoffs, testing, and project management.

  • Present2017

    CpE 612-443 Multimedia Systems and Applications

    In this course, students will be introduced to principles and current technologies of computer-based multimedia systems. They will study current media types (images, video, and audio) and how they are used to create multimedia content. Issues in effectively representing, processing, and retrieving multimedia data will be addressed. Multimedia network communication and applications will be considered. The students shall learn to implement basic techniques of multimedia data processing in MATLAB.

  • Present2018

    ENG 600-307 Numerical Methods and Programming in Engineering

    This course lays the foundation for solving applied engineering problems using numerical methods and computer programming. The primary programming language is MATLAB, which will be learned as a tool for solving problems. The course will also introduce some of the fundamental of numerical methods, which include: error analysis, roots of nonlinear algebraic equations, solution of linear and transcendental simultaneous equations, matrix and vector manipulation, curve fitting and interpolation, numerical integration and differentiation, solution of ordinary differential equations.

  • Present2016

    ENG 600-308 Numerical Methods for Engineers

    The course is aimed to introduce engineering students to various tools of problem solving by means of numerical techniques. The objective of this course is to expose engineering students to techniques of solving complicated mathematical problems for which analytical solutions become very difficult if not impossible. Different methods for solving non-linear equations, linear and non-linear systems of equations, interpolation, integration, differentiation, regression and differential equations will be delineated. This course has been the students’ most favorite topic because it involves mathematics and engineering applications.

  • Present2016

    ENG 600-304 Engineering Probability and Statistics

    Probability theory, discrete and continuous probability distributions, statistics in engineering, Descriptive Statistics Sampling distributions, estimation and confidence intervals, hypothesis testing, simple regression.

  • Present2016

    ChE 640-481 Operations Research

    Introduction, mathematical modeling, classification of models, model construction, decision making, linear programming (LP), formulations of LP, graphical solution for two-variable problems, algebraic solutions, the simplex method, sensitivity analysis, advanced topics in linear programming, Applications and case studies.

  • Present2013

    ENG 600-200 Computer Programming for Engineers

    Algorithmic problem solving in the context of a modern programming language, Terminology-Arithmetic computations-Simple& formatted I/O- if structures, while loop, do loop, for loop, nesting, data files, arrays (1D &2D), functions, strings and pointers, structures.

  • Present2012

    CpE 612-456 Computer Networks II

    High speed and broadband networks, link layer techniques in high-speed networks, multicast routing, mobility and the network layer, building web applications (protocols at the application layer, web engineering, RPC, support tools, enterprise-wide web-based applications), multimedia networking, network security issues (cryptography, secret/public-key algorithms, authentication protocols, digital signatures and firewalls), network management (passwords and access control mechanisms, domain names and name service, performance and failure recovery).

  • Present2013

    CpE 612-454 Performance Evaluation of Computer Networks

    Theory and application of analytic methods for evaluating the performance and for capacity planning of computer networks, review of the basic probability theory, advanced methods in probabilistic analysis, random processes, markovian queuing models, network protocols, traffic modeling, event driven simulation.

  • Present2012

    CpE 612-458 Network Programming

    ntroduction to the design, architecture and implementation of client and server programs in the client-server model of computing, overview of the TCP/IP suite of protocols and some application specific protocols, the client-server model of computing, interprocess communication and network programming interfaces, server architectures, use of scripting languages in providing client-side and server-side processing in web based applications, security issues.

  • Present2013

    CpE 0612-567 Modeling and Analysis of Communication Networks (Graduate Course)

    Theory and application of analytic methods for evaluating the performance and for capacity planning of computer networks, review of the basic probability theory, advanced methods in probabilistic analysis, random processes, markovian queuing models, network protocols, traffic modeling, event driven simulation.

  • Present2014

    CpE 612-569 High Performance Computer Networks (Graduate Course)

    This course will cover the practical aspects of computer networks, with emphasis on the Internet and transport networks. Various aspects of computer networking will be covered including: link-layer, network-layer, and transport-layer technologies, LAN/WAN technologies, congestion/flow control, switching, multiplexing, optical technologies, optical and wavelength routed networks, network survivability, optical access networks, etc.

Teaching History

  • 20122009

    Net-centric Computing

  • 20122009

    E-Commerce

  • 20122009

    Systems Analysis and Design

  • 20122009

    Software Project Management

  • 20122009

    Analysis of Algorithms

  • 20122009

    Ethics in Computing