دليل المواد | الشئون الأكاديمية
CPE
303
CPE
Description
Course Number:
0612303
This course introduces the essential programming concepts and practice in web development: this course primarily covers the following topics, introduction to web programming, data models and ORM, and API and library usage. The course includes several projects assigned to students that together constitute a useful web application.
(3-0-3)
Prerequisites:
0612207
CPE
325
CPE
Description
Course Number:
0612325
This course introduces fundamental principles for designing and analyzing interactive systems. Topics include user-centered design, human cognitive and physical abilities, prototyping and evaluation techniques, and graphical design fundamentals. The course also reviews emerging areas of HCI research including mobile interaction, augmented-reality, multi-touch interaction, tangible interaction, and ubiquitous computing.
(3-0-3)
Prerequisites:
0612201
CPE
333
CPE
Description
Course Number:
0612333
Topics include history and overview of intelligent systems, exploration of relevant technologies. Fundamental challenges in intelligent systems, methodologies for intelligent system design, search techniques and constraint satisfaction. Knowledge representation and reasoning, and the study of agents.
(3-0-3)
Prerequisites:
0612300
CPE
336
CPE
Description
Course Number:
0612336
This course provides an introduction to machine learning with special focus on engineering applications. The course starts with a mathematical background required for machine learning and covers approaches for supervised learning (linear models, kernel methods, decision trees, natural networks), unsupervised learning (clustering, dimensionality reduction) and reinforcement learning as well as theoretical foundations of machine learning (learning theory, optimization).
(3-0-3)
Prerequisites:
0600304, 0612207
CPE
341
CPE
Description
Course Number:
0612341
Principles of database systems: History and motivation, DBMS functions, database architectures, use of a database query language. Data modeling: conceptual models, object-oriented model, and relational data model. Relational databases: conceptual schema and relational schema, and integrity constraint. Relational algebra and relational calculus. Functional dependencies and normal forms. Database query languages. Relational database design. The course stresses basic concepts and presents many examples from existing database systems. A database design and implementation project of a real world application is required, using modern database management tools.
(3-0-3)
Prerequisites:
0612207
Corequisites:
0612342
CPE
342
CPE
Description
Course Number:
0612342
This lab introduces uses a DBMS product to design and implement tables and perform queries. Focusing on normalization, data integrity, data modeling, and creation of simple tables, queries, reports, and forms. Once completed, students should be able to design and implement database structures by creating database tables, queries, reports, and forms.
(0-3-1)
Corequisites:
0612341
CPE
356
CPE
Description
Course Number:
0612356
This is an introductory course in computer networks. It gives an overview of current computer networks and its history. It introduces the OSI and TCP/IP network architecture models and protocols. It then studies the implementation principles and design issues at each layer of these models. Lecture topics include: the structure and components of computer networks, application layer protocols, packet switching, layered architectures, TCP/IP, physical layer, error control, local area networks (wire and wired), network layer, congestion control, and multiple access. Laboratory work focuses on experimenting with packet tracing tools and the implementation of protocols covered in lectures, e.g., stop-and-wait protocol, socket programming, Dijkstra routing algorithm and others.
(3-0-3)
Prerequisites:
0600104,0600304,0612207
Corequisites:
0612357
CPE
357
CPE
Description
Course Number:
0612357
This laboratory course provides students with hands-on training and experience regarding the design, implementation, and packet inspection of computer networks. Students experiment with network simulation and packet tracing tools. Topics covered in experiments include: network addressing, address resolution protocol (ARP), Dynamic Host Configuration Protocol (DHCP), troubleshooting tools (e.g., ipconfig, traceroute, ping), basic networks simulation, server configuration at application layer, basic switch set-up and configuration, trunking in virtual local area networks (LAN), router setup and configuration in LAN and wide area networks (WAN), static and dynamic routing.
(0-3-1)
Corequisites:
0612356
CPE
363
CPE
Description
Course Number:
0612363
Embedded system building blocks. Embedded microcontroller's architecture. Embedded programs: instruction set, interrupts, timers and programming in assembly language. Memory technologies. Basic I/O devices (such as keypad and LCD). Embedded microcontroller interfacing to memory and I/O devices.
(3-0-3)
Prerequisites:
0612262,0612264,Corequisites: 0612364
Corequisites:
0600205,0612364
CPE
364
CPE
Description
Course Number:
0612364
This lab component provides sufficient detailed knowledge and hands-on experience of a microcontroller so that students can breadboard and program a microcontroller and demonstrate its function in a real-time application. It is accomplished by a sequence of assigned labs, followed by a final project of the student\'s choice, emphasizing creativity and uniqueness.
(0-3-1)
Corequisites:
0612363
CPE
368
CPE
Description
Course Number:
0612368
Digital systems design principles and techniques including modeling and simulation with HDLs. Performance metrics and Amdahl\'s Law. CPU organization of computers. Instructing set architecture. Register transfer logic. Computer arithmetic: fast adders, multipliers, dividers and floating-point arithmetic. Processor data path and control unit design. Introduction to pipelining and caches. An emphasis on hardware design methods, combined with increased discussion of performance and relevant software issues.
(3-0-3)
Prerequisites:
0612363,0612364
CPE
371
CPE
Description
Course Number:
0612371
The course introduces the basic concepts of software engineering, methodologies, and process models. The course covers the followings: Software life cycle, models and methods for software specification, analysis and design, object oriented analysis and design using UML, patterns, frameworks and APIs, architectural design, distributed system architectures. The course also introduces the use of state-of-the-art tools for computer-aided software engineering. The course increase students' knowledge of classic and modern software engineering techniques, and develop concrete experience in turning ill-formed concepts into products working with a team. This course includes a project.
(3-2-3)
Prerequisites:
0600209,0600310
Corequisites:
0612341
CPE
399
CPE
Description
Course Number:
0612399
Students should attend a training program at one of the approved companies/institutions engaged in computer engineering practices. The objective is to gain practical experience in real engineering problems. The student should submit a formal report at the end of the training period. A minimum of 180 hours of supervised training is required.
(3-0-3)
Prerequisites:
90 Credits
CPE
402
CPE
Description
Course Number:
0612402
This course will cover advanced concepts and techniques in distributed systems with applications to cloud computing and big data analytics. The underlying principle of Net-Centric Computing (NCC) is a distributed environment where applications and data are downloaded from servers and exchanged with peers across a network on as-needed basis. In many ways, NCC is the enabling technology for a significant percentage of modern enterprise applications. Course material will focus mainly on scalable performance and fault tolerance. The course will combine concepts from distributed computing, cloud computing, database systems, programming languages, and theory by exploring both the foundations and practical applications of distributed storage, cluster computing frameworks, and distributed transaction processing.
(3-0-3)
Prerequisites:
0612356
CPE
404
CPE
Description
Course Number:
0612404
This course is a senior elective that introduces students to compiler construction and issues related to software compilation. Topics includes Lexical analysis, Syntax analysis: LL parsing and LR parsing, Semantic analysis: Type checking and attributed grammars, Memory management, Error handling, Code generation, Code optimization, and Bootstrapping. Students will be exposed to real compiler implementations. Students become familiar with make, lex, and yacc as a part of the course and are required to implement one compiler project in their favorite computer programming language.
(3-0-3)
Prerequisites:
0612207,0612363