faculty
Adnan El-Nasan, PhD
Associate Teaching Professor
Computer & Information Science
Contact
508-999-8767
^bik^p^k=rj^ppa+bar
Dion 302F
Education
2003 | Rensselaer Polytechnic Institute | PhD in Computer and System Engineering |
1995 | Rochester Institute of Technology | MSc in Computer Engineering |
1988 | Jordan University of Science and Technology | BS in Electrical Engineering |
Teaching
- Operating Systems
- Computer Architecture
- Information Security
- Computer Networks
- Advanced Computer Systems
Teaching
Programs
Programs
- Computer Science BS, BS/MS
- Computer Science Cybersecurity
- Computer Science Graduate Certificate
- Computer Science MS
- Mobile Applications Development
- Software Engineering
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