Artificial Intelligence Class: 3 rd Teaching scheme: 4 hours lecture credits: Course description: This subject covers the fundamentals of Artificial Intelligence including programming in logic, knowledge representation, search techniques, control strategy. Objective: This subject provides an overview of AI, how represent the knowledge, types of search( blind & heuristic), control strategy, how to program in logic(prolog language). Specific learning outcome: The learner will be able to Understand AI and programming in prolog language. Topics 1. introduction to Artificial Intelligence. 4 hours 2. knowledge representation 16 hours (graphical representation, logical representation). 3. problem state space characteristics 4 hours 4. problem solving 4 hours 5. search technique 22 hours ( blind search, heuristic search). 6. control strategy 10 hours (forward chaining, backward chaining). 7. introduction to programming in logic 2 hours 8. prolog language structure 4 hours 9. prolog language components 6 hours (facts, simple rule). 10. built in function in prolog language 6 hours 11. recursion 12 hours ( tail, non tail) 12. fail structure 6 hours 13. list processing 8 hours 14. string processing 4 hours 15. database structure and properties 6 hours 16. files in prolog and application with data base. 6 hours Text book: Artificial intelligence Structures and Strategies for Complex Problem Solving, George F.Luger, Addison-Wesley, 2005.
Optional Class: 3rd Information Technology Teaching scheme: ( ) hour lecturer and ( ) hour tutorial per week Credits: ( ) Course description: This subject covers the fundamentals of information technology, including primary components of information technology, functions of information technology, the benefits of information technology, software, internetwork, computer languages and others. Objective This subject provides an overview of the concepts the information technology and explains the three primary components of information technology. Also it gives an introduction to the operating systems, including the programs, applications, and all the components that are dealing with a PC. Specific learning outcome: The learner will be able to describes contains fundamentals of information technology, including components, mechanical components, information system, and Internetwork. Topics 1. Fundamentals of computing I 10 hours 2. Fundamentals of computing II 10 hours 3. Network I 18 hours 4. Network II 17 hours 5. Programming languages 14 hours 6. Relational Databases 20 hours 7. Web Technologies fundamentals 16 hours 8. Computer security I 17 hours 9. Computer security II 8 hours 10. Commercial web design 12 hours 11. Business intelligence 8 hours 12. Multimedia 15 hours
Compiler Technique Class: 3 rd Mandatory Teaching scheme: 2 hours lecture & 2 hour Lab. per week Credits: 6 Course description The subject covers the various aspects of designing programming language translators. It includes: The phases of compiler structure. The environment in which compilers do their jobs. Software tools that make it easier to build compilers Learning Objective: Understanding the concept of scanning, parsing, variables names management, and code generation. Practical skills in programming by design simple compiler phase. Correlating theory with practice. Knowing how to use computation theory techniques in compiler design. Learning Outcomes Get a knowledge about: The types of translators in computer programming. Develop the ability of designing a language or machine translators. The ability to invest information from different subjects that were studied in solving a specific problem. Topics Subject Number of hours 1 Introduction The need of translator 2 - Interpreter - Assembler - Compiler Phases of compiler 2 2 Lexical analysis The role of lexical analyzer 2 Input buffer 2 Regular expression 2 Finite Automata 4
Transition diagram 2 Parse tree 2 3 Symbol table Symbol table attributes 2 Symbol table organization 2 4 Syntax analysis CFG 4 Top down parsing 4 Bottom up parsing 4 Operator precedence parsing 4 LR parser 2 5 Semantic analysis 2 Type checking Semantic error 2 6 Intermediate code generation 6 Code optimization 6 7 Code generation 4 Text book " Compilers: Principles, Techniques, and Tools", By: Aho, Sethi, Ullman, Addison Wesley publishing company, 2009. Assessment Internal Continuous Assessment: (50) marks 70% Tests, Home work, Activities. 30% Laboratory practical and record. Course 1 : 15 marks. (including 5marks Lab.) Mid year : 15 marks. (including 5 marks Lab.) 50 Course 2 : 20 marks. (including 5 marks Lab.) In each course: 1) Theoretical part 60% Two theoretical tests, each one. 40% Home works & activities, quizes.
2) Laboratory : 5 marks. - In each course: Laboratory practical tests, Home work. - In mid year examination: Lab. test, or Project Final Examination (50 Marks) 30% Laboratory test. 70% Theoretical test.
CG Computer Graphics Class:3 rd - Teaching scheme: (2 hour lecturer and 2 hour tutorial )per week. Credits: Course description: This subject covers the principles of computer graphics, application, types of graphics devices and programming by C#. Objective: The goal of this course is to provide an introduction to the theory and practice of computer graphics. Specific learning outcome: The learner will be able to programming all techniques of design, build the graphics and have a knowledge about equipment of computer graphics. Topics: 1- Introduction to CG.s. 2- Using a graphics API. 3- Simple color models(rgb, HSB, CMYK) 4- Homogeneous coordinates. 5- Affine transformations(scaling, rotation, translation) 6- Viewing transformation. 7- Clipping 8- Raster and Vector graphics systems. 9- Video display devices. 10- Physical and logical input devices. 11- Line generation algorithms(bresenham). 12- Font generation: outline vs. bitmap. 13- Light-source and material properties. Text Book: John F.,James D, Andries V. & Steven K." Computer Graphics: Principles and Practice ", 3 rd Edition, July 2013. W.M. newman & R.F. Sproull " Computer Graphics: Principles and Practice ", 1982, McGraw Hill
Visual Programming Third Class Teaching Schema: 2 hours theoretical lecture and 2 hours particle lecture per week Credits:6 Course Description: This subject covers the fundamentals visual programming using java language and give in details the tools are most use in Graphic user Interface. Objective: This subject provides an overview to how create graphical user interfaces with various user-interface components: JButton, JCheckBox, JRadioButton, JLabel, JTextField, JTextArea, JComboBox, JList, JScrollBar, JSlider and also To create listeners for various types of events and use input and output dialog boxes to input data into a program and show the output of a program, then discuss how to use additional GUI components to create a different graphical user interface. Specific Learning outcome: The learner will be able to design,implement and execute graphical user interfaces program in Java language Topics: 1 Learn about basic GUI components 8 2 Explore how the GUI components JFrame, JLabel, JTextField, and JButton 8 work 3 Become familiar with the concept of event-driven programming 8 4 Discover events and event handlers 12 5 Learn how to identify objects, classes, and members of a class 12 6 Define a subclass of the JFrame class using inheritance. 8
7 Write event-driven programs using Java s delegation-based event model. 12 8 Arrange GUI objects on a window using layout managers and nested panels 12 9 Write GUI application programs using JButton, JLabel, ImageIcon, JTextField, 16 JTextArea, JCheckBox, JRadioButton, JComboBox, JList, and JSlider objects from the javax.swing package. Write GUI application programs with menus using menu objects from the 12 10 javax.swing package. 11 Write GUI application programs that process mouse events. 12 Text Book: Introduction to Java Programming Comprehensive Version 8Ed
CS303 Computer architecture Class: 3 rd المرفق )1( أ Mandatory Teaching scheme: 3 hours lecture and 1 hour tutorial per week Credits: 6 Course description: 1-To introduce the concepts underlying a microprocessor system and design, test and build such a system. 2-This subject covers an advanced computer architecture and organization, including instruction pipelining and instruction level parallelism (ILP). Objective 1- This subject provides a background that may be useful in system programming. 2-It also gives an introduction to system programming techniques which is wealth's ideas and results with wide area of applications. Topics 1- The Evaluation of computer 5 Hours 2- Interrupt mechanisms 8 Hours 3- CPU architecture inst. Formats, types 16 Hours 4- Micro programmed & hardwired control unit 16 Hours 5- Input/output organization 10 Hours 6- Buses: PCI, DMA, USB 10 Hours 7- Main and cache memory architecture 14 Hours 8- Parallel Processing 16 Hours 9- Introduction to Robotics 5 Hours 10- Hardware of robot system 8 Hours 11- Software of robot system 6 Hours 12- Case study (Building simple mobile robot) 6 Hours Reading list: 1- Computer organization and architecture: designing for performance, William Stalling, sixth edition, 2003. 2-Structured computer organization, Tanenbaum, Andrew S., Austin, Todd, sixth edition, Pearson,, c2013 3-Computer system architecture, M. Mano
Software engineering Third class Teaching scheme:4 hours lecture,2 lectures per week. Credit:4 Course description: This subject covers the fundamentals of software development,starting from the analysis phase and ending with the maintenance phase of the software system. Objectives This subject covers the software development life cycle,including deferent process models And software testing tools. Specific learning outcome: The learner will be able to develop software systems using the best development model and development tools. Topics : 1- Introduction to software engineering. 8 hours 2- Type of software systems. 8 hours 3- Software development life cycles. 8 hours 4- Prototyping. 8 hours 5- Reuse-Oriented Software Engineering 8 hours 6- Requirements elicitation and analysis. 8 hours 7- Requirements Engineering 8 hours 8- Functional and non functional requirements. 8 hours 9- System Modeling. 8 hours 10- Unified modeling language 8 hours 11- Object oriented software engineering. 8 hours 12- Embedded Software System. 8 hours 13- Embedded Systems Design. 8 hours 14- Real-Time Architectural Patterns. 8 hours 15- Real-Time Operating System. 8 hours Text book: software engineering by Ian Sommerville 9 th edition.