Adnan El-Nasan

faculty

Adnan El-Nasan, PhD

Associate Teaching Professor

Computer & Information Science

Contact

508-999-8767

^bik^p^k=rj^ppa+bar

Dion 302F

Education

2003Rensselaer Polytechnic InstitutePhD in Computer and System Engineering
1995Rochester Institute of TechnologyMSc in Computer Engineering
1988Jordan University of Science and TechnologyBS in Electrical Engineering

Teaching

  • Operating Systems
  • Computer Architecture
  • Information Security
  • Computer Networks
  • Advanced Computer Systems

Teaching

Programs

Teaching

Courses

Principles of modern operating systems and their design. Scientific principles and engineering rules of operating systems are explored. Process and storage management subsystems are analyzed in detail. Protection and security are taken into account in design. An introduction to distributed operating systems is also presented. This is a design and project based course with a laboratory component.

Principles of modern operating systems and their design. Scientific principles and engineering rules of operating systems are explored. Process and storage management subsystems are analyzed in detail. Protection and security are taken into account in design. An introduction to distributed operating systems is also presented. This is a design and project based course with a laboratory component.

Principles of modern operating systems and their design. Scientific principles and engineering rules of operating systems are explored. Process and storage management subsystems are analyzed in detail. Protection and security are taken into account in design. An introduction to distributed operating systems is also presented. This is a design and project based course with a laboratory component.

Principles of modern operating systems and their design. Scientific principles and engineering rules of operating systems are explored. Process and storage management subsystems are analyzed in detail. Protection and security are taken into account in design. An introduction to distributed operating systems is also presented. This is a design and project based course with a laboratory component.

Topology of computer networks. Physical transmission. Error handling. Protocols. Satellite, packet radio, and local networks. Network interconnection. Security. Applications of computer networks.

In depth treatment of current computer systems, with performance issues at the center of an analytical approach. The course explores operating system software and the interrelation between architecture and system software. Advanced topics of compiling, assembly, linking and loading of high-level language software are included. The course treats mechanisms of IO and the memory hierarchy, various features of traditional machines, advanced features of modern machines such as RISC and multi-processor machines, and file systems and networked and distributed systems such as inter- and intra-nets. Throughout, performance issues are at the center of an analytical approach.

Prerequisites: Completion of three core courses.   Development of a detailed, significant project in computer science under the close supervision of a faculty member, perhaps as one member of a student team. This project may be a software implementation, a design effort, or a theoretical or practical written analysis. Project report with optional oral presentation must be evaluated by three faculty members including the project supervisor.  

Prerequisite: Completion of three core courses. Research leading to submission of a formal thesis. This course provides a thesis experience, which offers a student the opportunity to work on a comprehensive research topic in the area of computer science in a scientific manner. Topic to be agreed in consultation with a supervisor. A written thesis must be completed in accordance with the rules of the Graduate School and the College of Engineering. Graded A-F.

Teaching

Online and Continuing Education Courses

The methodologies of operating systems design and implementation. Concurrency, synchronization, process communication, switching control, deadlocks, implementation of dynamic structures, design of operating systems modules and interfaces, system security and integrity, and system updating and documentation are also studied.

Introduction to data structures and fundamental algorithms. This course covers the design and implementation of dynamic data structures including linked list, queue, stack, heap, trees and graphs. This course also provides comprehensive coverage of fundamental groups of algorithms, including divide-and-conquer, dynamic programming, and greedy algorithms.
Register for this course.

In depth treatment of current computer systems, with performance issues at the center of an analytical approach. The course explores operating system software and the interrelation between architecture and system software. Advanced topics of compiling, assembly, linking and loading of high-level language software are included. The course treats mechanisms of IO and the memory hierarchy, various features of traditional machines, advanced features of modern machines such as RISC and multi-processor machines, and file systems and networked and distributed systems such as inter- and intra-nets. Throughout, performance issues are at the center of an analytical approach.
Register for this course.

Research

Research interests

  • Operating System Optimization and Security
  • Cybersecurity, Privacy, Forensics and Reverse Engineering
  • Innovation and Commercialization in Emerging Economies