|
|
| | | 901130 | Computer Science -1 | | | pre- requisite: ( - ) | | Introduction to Personal Computers (PCs). Computer history and applications; the binary numbering system, data representation; computer organization: central processing unit, memory, input/output units; logic gates; introduction to operating systems, MS Windows, word processing using MS Word, and spreadsheets using Excel; Introduction to the Internet and the World Wide Web; elementary homepage development; HTML. | | | »» More | | | | 901131 | Computer Science -2 (scientific) | | | pre- requisite: ( - ) | | null | | | »» More | | | | 901200 | Discrete Mathematics | | | pre- requisite: ( - ) | | This course is an introduction to the formal mathematical concepts
of computer science for the beginning student and covers a wide variety of diverse topics that serve as the mathematical framework for the design and analysis of algorithms. Topics include
elementary logic, set theory, induction and recursion, relations, functions, Boolean algebra, tree structures, permutations and combinations and an introduction to graph theory and finite state machines | | | »» More | | | | 901210 | Object-Oriented Programming | | | pre- requisite: ( - ) | | Review of control structures, functions and primitive data types. Structured data types. Machine level representation of data. Brief survey of programming paradigms. The object-oriented programming paradigm. Classes, subclasses, and inheritance; polymorphism; class hierarchies; template. Software evolution: software maintenance; legacy systems; software reuse. | | | »» More | | | | 901211 | Programming in Java | | | pre- requisite: ( - ) | | Object-oriented programming (classes, objects, messaging, inheritance), Java language features (interfaces, exceptions, packages, concurrency, garbage collection), use of the built-in packages (lang, util, io, networking, awt), applications and applets, security and verification, Java implementation and the virtual machine. test | | | »» More | | | | 901212 | | | | pre- requisite: ( - ) | | | | »» More | | | | 901220 | Digital Logic Design | | | pre- requisite: ( 901130 ) | | The objective of this course is to familiarize the student with fundamental principles of digital design. It provides coverage of classical hardware design for both combinational and sequential logic circuits.
The course is supported by a digital logic design laboratory that uses the IDL-800 Digital Lab. device. This instrument is a circuit evaluator that enables users to design and connect standard Integrated Circuits. | | | »» More | | | | 901230 | Data Structure and File Processing | | | pre- requisite: ( - ) | | Complexity of algorithms, matrices, strings, lists, stacks and queues, hash tables, graphs and networks, trees, types of files and their internal structures, example algorithms. | | | »» More | | | | 901300 | Computational Theory | | | pre- requisite: ( - ) | | | | »» More | | | | 901310 | Visual Programming | | | pre- requisite: ( - ) | | Window-based, object-oriented, and event-driven application design and implementation employing modern programming languages and tools. Building visual components (windows, menus, frames, message-boxes, buttons, lists, input/out boxes), managing containers and layout, event-handlers, and exceptions. Employing GUI class libraries. A suitable programming environment to be selected for the course based on technology trends. Laboratory component is mandatory. | | | »» More | | | | 901320 | Computer Architecture | | | pre- requisite: ( - ) | | Introduction, computer organization, arithmetic and logic unit, memory units and addressing, input/output units, data transfer channels and interface units; hardwired and microprogrammed control units, machine language and assembly language programming | | | »» More | | | | 901321 | Computer Networks | | | pre- requisite: ( - ) | | Structure of data communication systems, OSI reference model, physical layer, switching and multiplexing, data link layer, error detection, error and flow control, switched networks, medium access protocols in broadcast networks, network layer, internetworking fundamentals, transport layer. | | | »» More | | | | 901330 | System Design and Analysis | | | pre- requisite: ( - ) | | Overview of the organization of current computer systems, data collection, dataflow diagrams, processes, modeling of objects, planning and information change, security and protection issues.
Syllabus
The main topics covered in this course are:
1) SYSTEMS ANALYSIS FUNDAMENTALS
- ASSUMING THE ROLE OF THE SYSTEMS ANALYST.
-UNDERSTANDING ORGANIZATION STYLE AND ITS IMPACT ON INFORMATION SYSTEM.
-DETERMINING FEASIBILITY AND MANAGING ANALYSIS AND DESIGN ACTIVITY.
2) INFORMATION REQUIREMENT ANALYSIS
- SAMPLING AND INVESTIGATING HARD DATA.
INTERVIEWING.
USING QUESTIONNAIRES.
OBSERVING DECISION-MAKER BEHAVIOR AND THE OFFICE ENVIRONMENT.
PROTOTYPE AND RAPID APPLICATION DEVELOPMENT.
3) THE ANALYSIS PROCESS
- USING DATA FLOW DIAGRAMS.
ANALYZING SYSTEMS USING DATA DICTIONARIES.
DESCRIBING PROCESS SPECIFICATION AND STRUCTURED DECISIONS.
ANALYZING SEMI STRUCTURED DECISION SUPPORT SYSTEM.
PREPARING THE SYSTEM PROPOSAL.
WRITING AND PRESENTING THE SYSTEM PROPOSAL.
4) THE ESSENTIALS OF DESIGN
DESIGNING EFFECTIVE OUTPUT.
DESIGNING EFFECTIVE INPUT.
DESIGNING DATABASE.
DESIGNING USER INTERFACES.
DESIGNING ACCURATE DATA-ENTRY PROCEDURES.
5) SOFTWARE ENGINEERING AND IMPLEMENTATION
- QUALITY ASSURANCE THROUGH SOFTWARE ENGINEERING.
- SUCCESSFULLY IMPLEMENTING THE INFORMATION SYSTEM.
- OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN AND UML. | | | »» More | | | | 901331 | Database Management System | | | pre- requisite: ( - ) | | Introducing the fundamental concepts necessary for designing, using, and implementing database systems and applications. | | | »» More | | | | 901332 | Operating System | | | pre- requisite: ( - ) | | The course covers concurrent processes and synchronization mechanisms, processor scheduling, memory management, file management, I/O management, deadlock management, and performance of operating systems. | | | »» More | | | | 901340 | Analysis and Design of Algorithms | | | pre- requisite: ( - ) | | Syllabus:
Algorithm analysis, Efficiency of algorithms, Complexity of algorithms, Divide & Conquer, Heap sort, Binomial heap, Quick sort, Counting sort, Binary search tree & Red-Black tree, Matrix-chain multiplication & Greedy algorithm, Knapsack problem, Huffman code, Graph & Toplogical sort, Minimum spanning tree, Shortest paths, Binomial heaps. | | | »» More | | | | 901350 | Computer Graphics | | | pre- requisite: ( - ) | | Introduction: Graphics systems, Color models.
Input Devices: Physical and logical devices, Interaction with mouse, keyboard.
2D Algorithms: Window and Viewports, Line drawing, Filling algorithms.
Vectors Concept of vectors, Clipping algorithm.
2D Transforms: Basic 2D Transforms, Homogeneous coordinates.
3D Modeling: Surfaces, Wireframe and Solid models.
3D Transforms: Affine transformations, Projections.
Rendering: Hidden surface removal, Illumination models.
. | | | »» More | | | | 901410 | | | | pre- requisite: ( - ) | | | | »» More | | | | 901410 | Fourth Generation Languages | | | pre- requisite: ( - ) | | | | »» More | | | | 901420 | Internetworking and Applications | | | pre- requisite: ( - ) | | Bridges and gateways, internetworking protocols (IP, TCP, DNS, ARP, RARP, ICMP, EGP), networking management protocols, Internetworking applications: FTP, E-mail, and WWW. Client/server programming using sockets. | | | »» More | | | | 901430 | Fundamentals os Distribute and Parallel Systems | | | pre- requisite: ( - ) | | | | »» More | | | | 901431 | Parallel Distributed Database | | | pre- requisite: ( - ) | | | | »» More | | | | 901440 | Compilers | | | pre- requisite: ( - ) | | pre- requisite: (0901300)
Principles and practices in the design of programming language compilers. Lexical analysis, parsing (LL, LR, and LALR parsing), symbol tables, type checking, common representations for records, arrays, and pointers, runtime conventions for procedure calls, storage allocation for variables, and generation of code. Students construct a simple compiler as a programming project...
----- | | | »» More | | | | 901470 | Expert Systems & Artificial Inttelligence | | | pre- requisite: ( - ) | | Course outlines:
Introduction to AI
Overview and History of AI, Intelligence agents.
Philosophical Issues
Introduction to Prolog
Search
Search in Prolog
Game Playing
Introduction to Expert Systems
Knowledge Acquisition in Expert Systems
Knowledge Representation
. Logic
. Production Rules
. Structured Objects
Planning
Other Topics) Genetic Algorithms, Natural language processing, Reasoning, planning, Fuzzy Logic, neural Networks, Learning) | | | »» More | | | | 901480 | | | | pre- requisite: ( - ) | | | | »» More | | | | 901480 | Special Topics | | | pre- requisite: ( - ) | | | | »» More | | | | 901499 | Graduation Project | | | pre- requisite: ( - ) | | A student's prepares a project proposal, carries out the necessary work and submit monthly progress reports to his supervisor. The graduation project should be a substantial development project or a propsed solution for a theoretical computer science problem. A final report is to be written and presented to a 3-member examination committee that includes the supervisor. | | | »» More | | | | 901710 | Programming Languages Structure | | | pre- requisite: ( - ) | | | | »» More | | | | 901711 | Parallel Programming | | | pre- requisite: ( - ) | | | | »» More | | | | 901720 | Advanced Computer Networks | | | pre- requisite: ( - ) | | This course will covers advanced fundamental design and mplementation principles of Internet, key networking issues and their solutions. This course will cover synthesis approach, looking at the network as a whole: identify, study common architectural components, protocol mechanisms, design/implementation principles and trade-offs. Several important topics in depth will be investigated, topics that are not covered in an introductory networking course. See the reading materials for addition information on topics covered in the course. The students are required to read and review required readings on their own, preferably in advance, including those that are not covered in the lectures. In addition, additional supplemental reading materials will be provided to the students | | | »» More | | | | 901730 | Distributed Operating Systems | | | pre- requisite: ( - ) | | | | »» More | | | | 901740 | Object Oriented Software Development | | | pre- requisite: ( - ) | | 0 | | | »» More | | | | 901750 | Analysis of Algorithms | | | pre- requisite: ( - ) | | The course covers : Asymptotic notation. Algorithm analysis methods. Greedy algorithms and divide-and-conquer algorithms. Dynamic programming. Probabilistic algorithms. Applications to sorting, scheduling, and graphs. Theoretical models for computing computational complexity. NP-complete and NP hard problems. Approximation algorithms. Details as follows: | | | »» More | | | | 901770 | Advanced Artificial Intelligence | | | pre- requisite: ( - ) | | | | »» More | | | | 901780 | Advanced Computer Architecture | | | pre- requisite: ( - ) | | This course provides the basic knowledge necessary to understand the hardware operation of digital computers and covers the three subjects associated with computer hardware. Topics include quantitative principles of computer architecture design, instruction set design, processor architecture: pipelining and instruction level parallelism, cache and virtual memory, multiprocessors, multi-computers and interconnection networks, message passing, wormhole routing, and case studies. | | | »» More | | | | 901791 | Seminar | | | pre- requisite: ( - ) | | | | »» More | | | | 901795 | Scientific Research Methods in Computer Science | | | pre- requisite: ( - ) | | | | »» More | | | | |
|