Live Support

Masters of Science in Computer Engineering

Definition: “Computer engineering is a discipline that embodies the science and technology of design, construction, implementation, and maintenance of software and hardware components of modern computing systems and computer-controlled equipment. Computer engineering has traditionally been viewed as a combination of both computer science and electrical engineering.” (Definition of Computer Engineering in the October 2004 Curriculum Report of the IEEE/ACM task force on Computing Curricula).

ITU’s curriculum for a MSCE is a blend of certain Computer Science and electrical Engineering courses. This reflects the fact that computer engineers are partly programmers and partly computer hardware designers. They are not electronics engineers as their design work is ALWAYS related to the computer. The computer, on the other hand is ALWAYS a program driven device. Typical areas, where this blend is applied and for which ITU prepares the students include ASIC design, FPGA development, firmware development, hardware-firmware integration, and circuit design. The development of this graduate curriculum has taken the recommendations of the above cited IEEE/ACM task force into consideration.

An undergraduate degree is required for admission. If the undergraduate degree is in the area of computer science or a related field then a minimum grade point average of 3.0 is required for the last half of courses taken that count for the degree. If the undergraduate degree is in a different field then the minimum grade point average required for all courses in that degree is 3.0. Exceptions to these requirements can be made by the academic council.

Curriculum for MSCE :

The MSCE curriculum provides for three different concentrations one of which must be selected by the student:
Computer Systems Design
Artificial Intelligence
Distributed Systems

In all three concentrations the student must select:

2 courses from the required core courses below for a total of 6 credits units                                   …..6

Required core courses
EEN 910     IC Design & Methods (3)
CEN 911     Digital Design II (3)
CEN 922     Computer Architecture (3)
CEN 933     Digital Signal Processing I (3)
CEN 933     Digital Signal Processing II (3)
CEN 942     Image Processing (3)
CEN 960     Computer Communication Networks, TCP/IP (3)
SEN 920     Computer Algorithms (3)
SEN 956     Unix Operating System (3)

1 courses from the applied mathematics courses below for a total of 3 credit units                   …..3

Applied mathematics courses
AMN 912     Applied Mathematics Methods I (3)
AMN 920     Optimization Techniques I (3)
AMN 921     Optimization Techniques II (3)
AMN 922     Applied Mathematics Methods II (3)
AMN 930     Numerical Analysis (3)
AMN 940     Discrete Mathematics (3)
AMN 950     Fast Fourier Transformation & Applications (3)
AMN 952     Probability & Statistics for Engineers (3)

Joint Seminar for a total of 3 credit units                                                     …..3

Joint Seminars
GRN 597     Joint Seminar (1)

Each concentration must choose 1 course out of the respective concentration group for a total of 3 credit units          …..3

Concentrations

Computer Systems Design concentration
CEN 950     FPGA Design (3)
CEN 954     ASIC Design and Practice (3)

Artificial Intelligence concentration
SEN 985     Artificial Intelligence (3)

Distributed Systems concentration
CEN 956     Distributed Computing systems (3)
CEN 966     (or CSN866)     Routing in Computer Networks (3)

6 courses from the electives below with the advisor’s approval, that have not been selected in the concentration, for a total of 21 credit units                                                                                                              …..21

Elective courses
CEN 910     Digital Design I (3)
CEN 940     Network security techniques (3)
CEN 950     FPGA Design (3)
CEN 954     ASIC Design and Practice (3)
CEN 956     Distributed Computing systems (3)
CEN 965     Local Area Networks (3)
CEN 966     (or CSN866)     Routing in Computer Networks (3)
CEN 998     Project (3 – 6)
CEN 999     Thesis (6)
MISY 915   Management Information Systems (3)
SEN 909     Advanced OO Design using C++
SEN 911     Web Graphic Design (3)
SEN 932     Automation and testing via Perl, shell scripts, & make (3)
SEN 936     Software tools (3)
SEN 941     Software Engineering I (3)
SEN 961     Cloud Computing (3)
SEN 962     Web page design using HTML and Java (3)
SEN 963     Unix, Perl & web management (3)
SEN 964     Advanced OO Design using Java (3)
SEN 974     Client/Server and the Internet (3)
SEN 980     Database Systems (3)
SEN 985     Artificial Intelligence (3)
SEN 991     Computer Graphics I (3)
SEN 992     Computer Graphics II (3)
SEN 996     Independent Study (3)
total . . . . .36

Courses Description

CEN 910 Digital Design I (3 credit hours)
This course is the same as CSN 410, and meets 3 hours per week for 16 weeks. Switching algebras, combinational circuits, minimization techniques, and sequential circuits. Analysis of synchronous sequential circuits, counters, shift registers, etc. use of CAD tools. Prerequisite: CSN 321

CEN 911 VLSI Design I (3 credit hours)
MOS & CMOS circuits and transistor theory, VLSI technology, circuit characterization and performance analysis, static and dynamic CMOS circuits, different logic structures, and system and subsystem design. Prerequisite: CEN 510

CEN 933 Digital Signal Processing I (3 credit hours)
Discrete time signals and systems and properties, analysis of discrete time systems, structures for discrete time systems, and properties of analog filters and frequency transformations. Prerequisite: AMN 620

CEN 940 Network Security Techniques (3 credit hours)
Network security plays a key role in today’s network computing environment. This course is designed to familiarize the students with fundamentals of network security issues, techniques, and applications. Topics include: introduction to computer networks, cryptography, secret and public key algorithms, authentication systems, digital signature, and secured e-mail systems. Some current hot topics, such as Internet security, e-commerce, and Virtual Private Network (VPN) will also be briefly covered. Prerequisite: None

CEN 951 Computer Architecture I (3 credit hours)
Instruction set design, processing unit, control unit, micro-programming, memory, and input/output subsystem. Prerequisite: None

CEN 959 Operating Systems I (3 credit hours)
Process management, memory management, scheduling, concurrent processing, synchronization mechanisms, resource allocation, resources, deadlock, and file systems. Prerequisite: CSN 382

CEN 960 Computer Communication Networks I (3 credit hours)
Overview, examples, ISO model, physical layer, delay analysis, data link protocols, point-to-point networks, multiple-access networks, local area networks, and selected topics. Prerequisite: None

CEN 961 Bluetooth Software Design and Wireless LAN (3 credit hours)
Bluetooth is a global specification for wireless connectivity that allows phones, PDAs and other portable devices to connect to each other and transmit voice and data by radio in open air rather than cables. 802.11 is a wireless LAN protocol that is increasingly gaining industry support. This course provides an overview of each of these technologies, their unique capabilities, advantages and disadvantages. Students will understand protocol concepts, and do hands-on programming projects about software implementation. Software components including protocol stack design, MAC layer firmware design, performance issues, power management and application development are addressed. Prerequisite: CSN 381

CEN 962 Design of Embedded Computing Systems (3 credit hours)
This course provides and overview and a hands-on experience of the different phases of the design process of the embedded computing systems. The design phases span the process spectrum from requirements through manufacturing phases. The alternatives and choices available to the designer in every phase are studied together with the rationale for choosing one alternative over the other. The student will become familiar with the phases involved in an embedded computing system design project, and will be familiar with some of the tools and choices available at every phase. The student will also be able to decide which alternatives better suit that project’s specific requirements. Prerequisites: CSN 321 and CSN 324

CEN963 Switching in Computer Networks (3 credit hours)
This course focuses on switching theory in computer networks. The course covers LAN switching techniques, including bridging, VLANs and trunking. The course also covers different switch fabrics, including input-buffered/input-output-buffered switches, shared-memory switches, banyan switches, knockout switches, abacus switches, crosspoint-buffered switches, Clos-Network switches and wireless ATM switches. Furthermore, this course studies IP switching, in particular MPLS technology, including MPLS traffic engineering and MPLS/VPN. Prerequisite: None

CEN 964 Computer Interface and Firmware Engineering (3 credit hours)
As computers have been widely used almost everywhere, from intranet to Internet, from personal uses to large-scale business applications, there are strong, increasing demands for computer-based industrial automation and instrument control. This is often referred as computer interface, the bridge between hardware and software. This course is designed to overview various hardware interfaces that are practically used in industries as well as software that can communicate through these interfaces. Specifically it introduces communications through the serial and the parallel ports, RS232 and GPIB interfaces, I/O buses, and device drivers written in C/C++. Besides this course will also discuss microprocessor embedded systems and high-level graphical user interface (GUI) programming. Experimental examples are presented in the class and students are given with practical projects for solving real-world problems. Prerequisites: CSN 381, SEN 509, CEN 510 and CEN 551

CEN 965 Local Area Networking I (3 credit hours)
Requirements specification techniques, software design technique and tools, implementation issues, and software engineering and programming languages. Prerequisite: CSN 382

CEN 966 Routing in the Computer Network (2 credit hours)
This course introduces different routing protocols (RIP, IGRP, EIGRP, OSPF, IS-IS and BGP) as well as new developments (multicasting and MPLS). Students will learn interior and exterior routing protocols that are currently being used in the Internet. In addition, they will study multicast routing and multi-protocol layer switching (MPLS). Prerequisite: CSN 360

CEN 567 Switching in Computer Networks (3 credit hours)
This course focuses on switching technology in computer networks and telecommunications. It introduces different types of switching. The course covers LAN switching techniques, including bridging, VLANs and trunking. The course also studies IP switching, in particular MPLS technology, including MPLS traffic engineering, layer 2 MPLS, virtual bridging, and MPLS/VPN. Furthermore, The course covers different switch fabrics, including shared-memory switches, banyan switches, knockout switches, and Clos-Networks. Prerequisite: CSN360

CEN 568 Design and Maintain of Commercial Web Site (3 credit hours)
A commercial web site has one or more of the following properties: (i) Most or all of the web pages are dynamically generated, not handwritten static pages (example: cnet.com). (ii) The web site changes constantly, say daily or hourly (examples: quote.yahoo.com and espn.com) (iii) The web pages are based on an external data source, say a database of inventory (example: outpost.com). (iv) The web site has an interactive mode with memory (examples: amazon.com and my.yahoo.com). (v) The web site has secure communications (example: bank or brokerage account). To learn the concepts of how to design and maintain a large commercial web site. To learn and to understand the current web technologies and implementations for various aspects of building a commercial web site and to learn how the different aspects fit together. Topics covered are: web server setup, web page look & feel, web page generation, secure communications, interactive web pages, and external data access. Prerequisite: None

CEN 910 Digital Design II (2 credit hours)
Analysis and synthesis of combinatorial and sequential digital circuits with attention to static, dynamic, and essential hazards. Algorithmic techniques for logic minimization, state reductions, and state assignments. Decomposition of state machine, algorithmic state machine. Design for test concepts. Prerequisite: CEN 510

CEN 911 VLSI Design II (2 credit hours)
Fault simulation and testing of VLSI circuits, symbolic layout, yield analysis and advanced topics, place & route, VLSI CAD tools, programmable arrays, and ASIC concepts. Prerequisite: CEN 511

CEN 950 FPGA Design (3 credit hours)
The fast growing FPGA (Field Programmable Gate Array) provides a quick prototyping and flexible design choice in digital system. This course offers a balanced study between academic and practical approaches. It covers the basic concept of PFGA such as architecture, design flow and the advantages vs. its limitations. By working on a mini-project, students can develop solid understanding and hands-on experience in this exciting digital design area. Good understanding of digital design principle is required. Knowledge of HDL (Hardware Description Language), such as VERILOG or VHDL, is not required but is very helpful. Prerequisite: CEN 610

CEN 954 ASIC Design Modeling (3 credit hours)
The goal of this course is to provide students a broad and practical understanding of the ASIC design process and issues. The topics include design techniques, design for test, design methodology, design verification and various tools used in the design process. Prerequisites: CEN 610 and familiarity with digital design and electronic circuits. Prior knowledge of Verilog or other programming language is not required but highly recommended.

CEN 734 Digital System Testing (3 credit hours)
Fault modeling: single stuck-at fault (SSF) and multiple stuck-at fault, fault equivalence and dominance, fault simulation techniques: serial, parallel and concurrent, testing algorithms for SSF and bridge fault, functional testing, PLA testing, use of CAD tools and introduction of commercial tools and their capabilities. Prerequisite: CEN 551

CEN 753 Digital Design Synthesis (3 credit hours)
High-level synthesis techniques, scheduling, optimization, module assignments, design partitioning, logic synthesis techniques, lower level optimization, module generation, timing, simulation, and CAD tools and lab. Prerequisite: CEN 610

CEN 760 Computer Networks: Internetworking with TCP/IP (3 credit hours)
Computer network fundamentals, network structure and components, switching techniques, layered network architectures, the Internet and TCP/IP, programming with sockets. Prerequisite: Graduate standing

CEN 761 Design and Analysis of Computer Networks (3 credit hours)
The course covers a detailed analysis for network topology, connectivity and routing design issues. An overview of graph theory algorithms used for the design of computer networks. Introduction to queuing theory techniques for the calculation of network delays. Network backbone design, local access design, basic protocol modeling and verification. Prerequisites: None

CEN 764 Advanced Java Programming (3 credit hours)
Introduction to Java, Application versus Applenet, Installing Java, variables, types, expressions, control constructs, java.lang, Strings, Vectors, Hash tables, File I/O, The Java AWT, components, events, layout managers, Improved GUI libraries, Threads, Synchronization, Java intervals, Sockets, Writing a server and a client. Prerequisite: SEN 564

CEN 973 Neural Networks I (3 credit hours)
Neuronal activity and mathematical models, perception type machines and learning, cerebellar models (work by Marr, Albus, Pellionisz and Llinas), parallel distributed processing (work by Hopfield, Grossberg, MeClelland and Rumelhart), and feedforward and feedback networks. Prerequisite: AMN 720

CEN 974 Neural Networks II (3 credit hours)
Application of neural networks, architectures for neural networks, and projects. Prerequisite: AMN 721

CEN 995 Special Topics in Computer Engineering (3 credit hours)
The course provides an opportunity for a faculty member to offer a relatively new subject that is not currently available in the catalog, but is of great relevance to computer engineering. It may consist of lectures, reading, homework, presentation and project determined by the instructor. Prerequisite: As specified in class schedule

CEN 996 Independent Study (3 credit hours)
By arrangement with instructor. Independent study of topics of special interest in computer science under the direction of an instructor. It may consist of reading, homework, tests, presentation and project determined by the instructor. Prerequisite: None

CEN 998 M.S. Project (3 or 6 credit hours)
By arrangement with project advisor. A nominal number of 2 or 4 credit hours is expected toward the M.S. degree if the Project Option is selected. Conduct independent research of an approved topic in computer engineering, prepare a technical report, and defend it before a faculty advisor. Prerequisite: Graduate standing

CEN 999 M.S. Thesis (6 credit hours)
By arrangement with thesis advisor. A nominal number of 6 credit hours is expected toward the M.S. degree if the Thesis Option is selected. Conduct independent research of an approved topic in computer engineering, prepare a thesis, and defend it before a committee composed of a number of faculty designated by department chair. Prerequisite: Graduate standing