|
|
 |
 |
 |
 |
 |
|
 |
|
|
|
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:
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:
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.
|
|
|