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
