Home
Staff
Courses
Admission
Students
Seminars
Labs
Whats New
Contact Us
Jobs
Courses

                                                                                

                                                                                                     


                         Single in Computer Science (59 Credits)

                         Required Courses: (47 Credits):
                               Comp
211, 232, 233, 234, 235, 333,334 , 339, 411, 431, 432, 433, 439                        
                                Stat 231 Math 234,231 Phys 231.              
                         Elective Courses: (12 Credits of the following):                
                                Comp
332 ,335,336, 337, 338,430,434, 435, 436, 437, 438, Math 330.              
                                              

                  Minor in Computer Science (21 Credits):

                         Required Courses (15 Credits):
                               Comp
232, 234 ,333, 339, 433
                         Elective Courses: 6 Credits that are choosen from third year or higher courses.

 

121 - Introduction to computer:

    Computer organization, binary system, data representation, computer and society. Applications, ( Including : Operating systems, data base, spread sheets, word processors, and internet ).

 

132 - Introduction to Computer and Programming:

    Computer organization, numbering systems, computer classes, computer networks, operating systems.  Algorithms and flowcharts, programming in a high level language (input /output, data types, control statements, loops , arrays). Basic concepts in data structures (stacks, queues, trees, sorting and searching).

    Applications (word processing, spread sheets, Internet and E-mail).

 

211 - Digital Circuits Lab:

    different experiments related to comp 235 (digital circuits).

    Prerequisite: 235 or concurrent.

 

230 - Computer & Programming

    Computer components, number systems, data representation, using of an operating systems, programming in C language, language elements ,control statements, functions, pointers, file processing, data structures (stacks ,queues ,linked lists, recursion ), applications.                                                              

 

231 – Programming in C Language:

    Using different techniques in programming through using one of the modern programming languages( C ), by giving types of the variables, input-output, control statements, functions, arrays, records, files, and the concentration on the uses of pointers, data structures (stacks ,queues ,linked lists, recursion ), applications.

    Prerequisite : Comp 132.

 

232 - Data Structures and Algorithms:

    Rigorous treatment of abstract data types and their implementation. lists stacks, queues, and trees. Algorithms for searching, sorting, and graphs.  recursion. Complexity of algorithms.

    Prerequisite : Comp 231.

 

233 - Discrete Mathematics:

    Basic areas in discrete mathematics relevant to Computer Science set theory.  Logic and proof techniques, boolean algebra, and mathematical induction.  Relations and functions, counting techniques and combinatorics.  Introduction to probability theory.  Introductions to graph theory.  Recurrence relations.

    Prerequisite : Math 131 (CALCULUS 1).

 

234 - Oriented Programming:

    Oriented programming object, oriented programming, classes in C++ , composite classes, constructors, deconstructors friend functions, inheritance, polymorphism, dynamic structures, applications.

    Prerequisite : 231 OR  230

 

235 - Digital Circuits:

    Combinational circuits.  Minimization and implementation of Boolean function.  Propagation delays.  Devices: multiplexers, decoders, encoders, adders, etc.  Various types of flip-flops.  Sequential circuits: counters, shift registers. State Assignment in Asynchronous sequential circuits.  Various types of memories: ROM, RAM etc., microcomputer, Input/Output interface, Digital to analog converter.,  Applications.

    Prerequisite :  Comp 132.

     

332 - Automata theory and Formal Languages:

    An introduction to the abstract notions encountered in machine computation.  Topics include finite automata, pushdown automata, regular expressions and formal languages, with emphasis on regular and context-free grammars.  Turing machines and recursive functions.

    Prerequisite : Comp 233.

 

333 - Database Systems 1:

    Introduction to database systems, program / data independence, three level schema architecture.  Database Design. ER model.

    Relabronal DBMS, tables, indexes. Normalization techniques. Database implementation, SQL language. Overview of curent DBMS.  Advanced topics include referential integrity, transactions, locking and concurrency.

    Prerequisite : Comp 232.

 

334 - Computer Architecture and Assembly Language:

    Logical structure of computer at register level.  Design concepts of computer system components memory, CPU, External memory, I/O devices, buses.  Assembly language of a modern processor.

    Prerequisite : Comp 235.

 

335 - Programming Languages :

    Study of the features and specifications of a programming language by investigation  of  the syntax, semantics, data types, control structures, data flow, run time environment.  Study of different paradigms, imperative a procedural, functional, logical , and Object-Oriented paradigms with examples on each proadigm.

    Prerequisite : Comp 232 .

     

336 - Analysis of Algorithms:

    Techniques for efficient implementation and precise analysis of algorithms.  time and space requirements are applied on programs.  Various sorting, searching and other algorithms are analyzed.

    Prerequisite : Comp 232.

 

337 - Operations Research:

    Introduction to operation research, linear programming, geometric examples, simplex method, optimal solutions, transportation problem, assignment problem, network.

    Prerequisite : Comp 231, Math 234 (Linear Algebra).

 

338 - Artificial Intelligence:

    Basic ideas and techniques underlying the design of intelligent systems, Agent concept, task and environment relationship , theory and practice for problem solving, search techniques, game playing, knowledge representation, logics, inference engine and expert systems.

    Prerequisite : Comp 232, 233 .

     

411 - Seminar in Computer Science:

    Students taking the course are expected to give lectures in various fields of computer in front of the faculty members in the department.  One of the main objectives of the course is to train students to do independent reading in computer, to present it and to discuss it with faculty members.

    Prerequisite: Consent of the department.

     

431 - Operating Systems:

    Organization and implementation of operating systems, including time and space management.  Multi-tasking systems.  Processes, process, management, interprocess communication and synchronization.  Memory allocation, segmentation and  paging.  Virtual memory.  File systems, storage devices and 1/0 systems.  Protection , security and privacy.

    Prerequisite: Comp 232.

     

432 – Computer Networks:

    An introduction of basic concepts of computer networks, digital and analog data communication, transmission media, reference model of Network Architecture- OSI, Detailed exploration of the lower three layers.    LAN systems. Construction of a typical LSN, and overview of its basic management tasks.

    Prerequisite: Comp 334.

     

433 - Software Engineering:

    Introduces students to the software life cycle, and modern techniques and tolls for the proper engineering  of software systems,  Stresses the development of reliable and maintainable software via system requirements and specifications, software design methodologies, detailed design, and implementation integration and resting.  Topics include: Software project management, life cycle documentation, software maintenance, and human factors issues.  Students will participate in the development of large applications software applying these techniques.

    Prerequisite : Comp 333.

     

434 - Management Information Systems:

    Organizational and Technical foundations of Information systems. Building information system. Management and organizational support systems. Managing contemporary information systems.

    Prerequisite: Comp 433.

     

435 - Computer Graphics & User Interface:

    Basic elements to computer graphics. Graphic output devices and their properties.  Graphic primitives and their attributes.  2-D and 3-D primitives.  Input Devices.  Various alternatives to the design of the human computer interface.  Human factors considerations. Algorithms for line, circle drawing. Geometric transformations.  Clipping algorithms.  Introduction of graphics standard.  This course will include programming assignment with emphasis on the careful design of the user interface.

    Prerequisite: Comp 232 , 334.

     

436 - Microcomputers :

    Processor Architecture, Memory and I/O inter facing, Input / Output techniques: Programmed, Interrupt Driven and DMA controlled I/O.  Design Examples.

    Prerequisite: Comp 334.

 

437 - Independent Study:

    An independent research project carried out by a student under the supervision of one of the faculty members.  A report is submitted at the end of the study.

    Prerequisite: 4th year standing and approval of the department.

     

438 - Special Topics in Computer Science:

    A study of a specific topic in computer field.  The subject of the course is chosen according to student needs and interests of faculty members.

    Prerequisite: Approval of the department.

     

439 - Compiler Construction:

    Introduction to compilers, programming languages, finite automata and lexical analysis, the syntactic specification of programming languages, basic parsing techniques, automatic construction of efficient parses, syntax -directed translation.

    Prerequisite: Comp 232, 233.