Dr. Faisal Akkawi

Northwestern University | Robert Morris College
Operating Systems | Database Organization | Data Structures | Northwestern CMS
Architecture | Demonstration | Documentation | Downloads | Contact Me

Course Links

Executive Director, Information Systems Programs
Northwestern University, School of Continuing Studies

Course Name
Description
Operating Systems Introduction to operating system concepts - including system organization for uniprocessors and multiprocessors, scheduling algorithms, process management, deadlocks, paging and segmentation, files and protection, and process coordination and communication. Design and implementation of programs dealing with mutual exclusion and synchronization using semaphores and monitors Design and implementation of programs dealing with interprocess communications using message queues, pipes, semaphores, and shared memory
Database Organization This course is specially designed to present the fundamentals of database management and data organization. This concepts includes the aspect of database design, database models, database languages and database system implementation. It gives the history about how the DBMS (Database management system) has evolved from old file system, about their importance in managing the large bodies of data, what database model can be used to implement them, what relational languages are used to provide the interface for DBMS, and also covers how the data are actually organized in the abstract data structures. It also covers written assignments, weekly quiz session and one programming project, which gives enough exposure to real filed implementation.
Data Structures The objectives of this class are:
  • Expand programming skills, including covering classes, operator overloading, pointers, dynamically allocated memory, templates, inheritance and recursion
  • Introduce data structures, including singly and doubly linked lists, stacks, queues, ordered lists, expression and binary search trees, Big O and performance evaluation
  • Enhance software development methodology techniques, including testing, simple project management metrics, and design techniques.
  • Develop one large or two medium-sized projects involving a number of data structures, programming concepts, and multiple interacting classes.