Course Catalog
Course Catalog
Undergraduate Courses | Graduate Courses
Undergraduate Courses
| CEN 211 |
Digital Logic Design I |
4 (3 ,1, 2) | Requisites |
|---|---|---|---|
|
This course provides students with basic knowledge on combinational and sequential circuit design. The course includes a lab component to help students get hands-on experience with the theoretical concepts they take in the course. Topics include: number systems, application of Boolean algebra, modular design of combinational logic and basic design of sequential circuits using state diagrams. |
Pre-requisite: |
||
| CEN 212 |
Digital Logic Design II |
4 (3,1,2) | Requisites |
|---|---|---|---|
|
This course provides students with advanced knowledge on synchronous sequential machines and basic knowledge in programmable logic devices. The course includes a lab component to help students get hands-on experience with the theoretical concepts they take in the course. Topics include: registers and counters, state machines, design of datapath and control circuits, hardware description languages (HDL) and the synthesis of logic circuits on programmable logic devices such as FPGA and CPLD |
Pre-requisite: |
||
| CEN 316 |
Computer Architecture |
3 (3,1,0) | Requisites |
|---|---|---|---|
|
This course provides students with basic knowledge in computer architecture hardware as well as the assembly language to program the processor. Topics include: History and factors affecting the advances in processor design; basic computer organization, performance evaluation and metrics; assembly Language of MIPS processor, instruction formats, instruction sets and their design; integer and floating-point representations and arithmetic operations; datapath design, control design, pipelining and their effect on performance; memory Hierarchy Organization and its effect on performance; I/O Systems. |
Pre-requisite: |
||
| CEN 318 | Embedded Systems |
4 (3,1,2) |
Requisites |
|---|---|---|---|
|
Programming embedded systems with assembly and C as well as how to configure and use different processor modules, such as: reset, oscillator interrupts, timers, Analog/Digital and serial communications. This course Introduces the embedded system design concepts. Students will investigate the architecture of a selected microcontroller family and its instruction set. The course includes a lab component to help students get hands-on experience with the theoretical concepts they take in the course.
|
Pre-requisite: |
||
| CEN 351 | Signals and Systems Analysis |
4 (3,1,2) |
Requisites |
|---|---|---|---|
|
Mathematical description and classification of various signals and systems: introduction to mathematical software packages (e.g. MATLAB), continuous linear time-invariant systems, convolution and correlation, Fourier series and transforms, Laplace transform, applications to communication systems: signal modulation, signal bandwidth, channel bandwidth. The aim of the course is to provide an understanding of signals and systems; the ability to sketch and analyze signals, express them in terms of other basic signals and perform basic time-domain operations on them; perform convolution and understand LTI concepts; apply the basic definitions of the Fourier series, Fourier transform and Laplace transform; explain modulation and demodulation of AM, PM and FM systems and use MATLAB for the simulation of signals and systems. |
Pre-requisite: |
||
| CEN 341 | Data Communication |
4 (3,1,2) |
Requisites |
|---|---|---|---|
|
Introduction to communication systems; Protocol architecture and reference models; Transmission Impairments; Transmission media: guided and unguided media, wireless propagation; Digital signaling: NRZ, AMI, Biphase; Analog signaling: ASK, FSK, PSK, Multi-level signaling; Error detection: 2D Parity, Checksum, CRC; Forward Error Correction; Data Link Control: framing, flow-control, ARQ protocols; Multiplexing: FDM, TDM; Digital carrier systems: PCM, E1, SONET/SDH; xDSL systems; Duplexing techniques: FDD, TDD. This course introduces the student to various technologies and algorithms used in the physical and the data link layer of computer networks. Specifically, it covers all aspects of point-to-point communication links such as transmission media, signal encoding, error detection, correction and data link control protocols. This provides the foundation for subsequent courses on computer networks. |
Pre-requisite: |
||
| CEN 352 | Digital Signal Processing |
3 (3,1,0) |
Requisites |
|---|---|---|---|
| History and overview; sampling theorem, aliasing; sampled signals, periodic signals, non-periodic signals; impulse response and convolution; digital spectra analysis; discrete Fourier transform, fast Fourier transform; z-transform; digital filters, FIR and IIR filter design; windowing; effect of finite word length in digital signal processors; application in audio and image processing.
The course aims at providing an understanding of digital signal processing, the ability to understand and apply Sampling theory and periodicity, the application of basic Fourier Transform (Discrete Fourier Transform DFT and Fast Fourier Transform FFT) and z-Transform, the ability to distinguish between, analyze, and design different types of digital filters including Finite Impulse Response FIR and Infinite Impulse Response IIR filters, the application of the digital signal processing methods to simple applications including audio and image signals. |
Pre-requisite: |
||
| CEN 390 | Computer Engineering Seminar |
1 (1,0,0) |
Requisites |
|---|---|---|---|
|
Professional ethics in the context of computer engineering: IEEE code of ethics, writing ethics, legal and ethical issues in software development; Research skills: research report organization and formatting, referencing and bibliography management; Guidelines for good research paper; Guidelines for effective oral presentation. The main goal of this course is to improve students’ research and report writing skills in preparation for their graduation projects. It also exposes students to current research topics in computer engineering. Students conduct a small research project about a relevant subject and write a formal report it along with an oral presentation. In addition, the course teaches students professional ethics, writing ethics and relevant ethical codes. |
Pre-requisite: ENGL 110 |
||
| CEN 402 | Introduction to Random Processes |
3 (3,1,0) |
Requesites |
|---|---|---|---|
|
Introduction to random variables, parameter estimation, stochastic processes, random signal processing and applications to systems. This goal of this course is to teach students about the different statistical models that can help them in their future studies and research in networking and signal processing. Topic to be covered include experiments, models, and probabilities, Discrete Random Variables, Continuous Random Variables, Pairs of Random Variables, Random Vectors, Sums of Random Variables, Parameter Estimation using the Sample Mean, Stochastic Processes, and Random Signal Processing. |
Pre-requisite: CEN 351 MATH 244 |
||
| CEN 413 |
Computer Architecture II |
3 (3,1,0) |
Requisites |
|---|---|---|---|
|
Fundamentals of computer design, power, cost, performance, instruction set principles, instruction and arithmetic pipelines, dynamic and speculative execution, precise exception, memory hierarchy, multilevel caches, virtual memory, multicores, multiprocessors, new trends in computer architecture. This course provides students with advanced knowledge in computer architecture hardware such as multicore and multilevel memory hierarchy as well as virtual memory concepts. |
Pre-requisite: CEN 316 |
||
| CEN 414 |
Programmable Logic Devices |
3 (3,1,0) |
Requisites |
|---|---|---|---|
|
Students get more detailed knowledge in the area of digital circuits design, especially with respect to their implementation into PLDs (FPGAs, CPLDs) and ASICs. Students get overview of current technology of these integrated circuits, their off-the-shelf architectures. Students will be able to design and implement a digital system into an FPGA using HDL language. This course provides detailed knowledge in the area of implementing digital circuits into PLD components such as FPGA and CPLD. |
Pre-requisite: CEN 212 |
||
| CEN 415 | Introduction to VLSI Design | 3 (3,1,0) | Requisites |
|---|---|---|---|
|
Large-scale MOS design: MOS transistors, static and dynamic MOS gates, stick diagrams, programmable logic array design, MOS circuit fabrication, design rules, resistance and capacitance extraction, power and delay estimates, scaling, MOS combinational and sequential logic design, register and clocking schemes, memory, data-path, and control unit design. Elements of computer-aided circuit analysis and layout techniques. The goal of the course is to learn VLSI design techniques and methodologies, Computer Aided Design (CAD) tools and how to use them, and create a foundation for further exploration of VLSI. |
Pre-requisites: |
||
| CEN 416 |
Introduction to Computer Arithmetic |
3 (3,1,0) |
Requisites |
|---|---|---|---|
|
Students will be introduced to several computer arithmetic topics at an advanced level. Topics include: Standard and unconventional number representations, design of fast two-operand and multi-operand adders, high-speed multiplication and division algorithms, floating-point numbers, algorithms, and hardware algorithms. Also, implementation like pipelined, digit-serial and fault-tolerant arithmetic processors are introduced. The aim of the course is to provide an understanding of algorithms and structures used for efficient implementation of all basic arithmetic operations (addition, subtraction, multiplication, division, modular reduction, and exponentiation). The focus is on implementation of these operations in VLSI circuits with application to general-purpose computing, cryptography, coding, and digital signal processing. |
Pre-requisite: |
||
| CEN 441 | Computer Networks | 4 (3,1,2) | Requisites |
|---|---|---|---|
|
Introduction to computer networks; Network architecture with respect to OSI and TCP/IP reference models; Ethernet, 802.11 technologies, Bluetooth, and cellular systems; Frame Switching and VLANs; Bridges and spanning trees; Basic network protocols: IPv4, ARP, DHCP, ICMP. Interior routing protocols. Transport layer protocols: UDP, TCP, and RTP. This course introduces students to computer networks. It covers the concepts and algorithms used in medium access control of the link layer. In addition, it provides various concepts, technologies, and algorithms used in network and transport layers. |
Pre-requisite: |
||
| CEN 442 | Computer and Network Security | 3 (3,1,0) | Requisites |
|---|---|---|---|
|
Symmetric and public key cryptography; digital signatures; cryptographic hash functions; authentication pitfalls; Network and Internet security: Network Access Control and Cloud Security; Transport-Level Security; Wireless network security; Electronic mail security, and IP security; System Security: Malicious software, Intruders, and firewalls. This course introduces the student to principles and practices of Computer and network Security, educate students about concepts and techniques for access to computer systems and network resources. Identification and authentication. Protection of information against intentional and unintentional attacks and threats. Cryptography and encryption of data. Encryption algorithms and their information theory foundations. Computer hardware and software for data encryption. |
Pre-requisite: |
||
| CEN 443 | Wireless and Sensor Networks | 3 (3,1,0) | Requisites |
|---|---|---|---|
|
Introduction to Wireless and Mobile Networks: Fundamental concepts in mobile wireless networks, Characteristics of wireless links, RF propagation, path loss models; Fixed assignment Multiple access techniques: FDMA/TDMA/CDMA, Performance of Fixed assignment techniques, Erlang-B model; The cellular concept: frequency reuse, cell architecture and handoff protocols; Cellular Technologies: 2G/GSM, 3G/UMTS/HSPA, 4G/LTE/LTE-A; Wireless LANs: multiple access techniques for LANs, IEEE 802.11 (WiFi); Mobility management: Mobile IP protocol. This course aim at recognizing the principles of wireless and mobile networks, challenges facing wireless network design and the latest technologies in the field. |
Pre-requisite: |
||
| CEN 445 | Network Protocols and Algorithms | 3 (3, 1, 0) | Requisites |
|---|---|---|---|
|
A broad range of advanced internetworking topics; Inter-domain Routing (BGP); IPv6, and Multicast Routing; Multiprotocol Label Switching (MPLS). Quality of Service; Congestion Control; Application layer protocols (HTTP, FTP, DNS, SMTP, and BitTorrent). This course introduces students to advanced networking concepts and exposes them to the fundamental design elements of large-scale distributed computer networks. It covers inter-domain routing and label switching along with Quality of service techniques. In addition, this course covers concepts, technologies, and protocols in the application layer. |
Pre-requisite: |
||
| CEN 446 | Network Design and Management | 3 (3, 1, 0) | Requisites |
|---|---|---|---|
|
Internetworking: Internetworking hardware, Bridging and switching technologies, Virtual LANs; Network Design: the network development life cycle, Network analysis and design methodology, Enterprise network design model, backbone design concepts; Network Management: foundations of network management, management architectures, information model, organizational model, communication model, functional model; Network Management Standards, Network Management Protocols, Abstract Syntax Notation One (ASN.1), Simple Network Management Protocol (SNMP), SNMPv2 and SNMPv3, Structure of Management Information (SMI), Management Information Base (MIB), Remote Monitoring RMON 1 and 2. The objective of this course is to introduce the fundamental principles of internetworking design, network analysis and design methodologies network management concepts, architectures, and protocols. |
Pre-requisite: |
||
| CEN 453 | Digital control and robotics | 4 (3,2,1) | Requisites |
|---|---|---|---|
|
Review of mathematical representation of systems (transfer functions) modeling and parameter identification, system analysis in time domain, system stability, steady state error, root locus, and compensator design using pole placement and root locus. Digital control and stability. Introduction to robotics. Control of robotic systems. Through problem solving and laboratory practice, the aim of this course is to provide a foundation in digital control system theory. After successfully completing the course, students are able to: 1. Mathematically represent the control systems, transfer functions, state space models, system stability, and design compensator. 2. Model time-delayed first and second order dynamic systems. 3. Analyze, design, and synthesize analogue and digital control systems using transform techniques (root locus) and pole placement. 4. Use MATLAB and SIMULINK in the analysis, design, simulation, and real-time implementation of discrete-time control for robotic systems. |
Pre-requisite: MATH 244 |
||
| CEN 454 | Intelligent Systems | 3 (3,1,0) | Requisites |
|---|---|---|---|
|
Students will be introduced to several artificial intelligence topics at an advanced level. Topics include: artificial intelligence definitions, knowledge representation, deep neural networks, fuzzy logic, evolutionary optimization such as genetic algorithms and particle swarm optimization, applications to signals and systems. The main goal of the course is to provide an understanding of artificial intelligence techniques, including knowledge representation, search heuristics, planning, learning and reasoning. The focus is on practical aspects of artificial intelligence, designing and implementing appropriate solutions of computer engineering problems like image classification, speech recognition and mobile robot navigation using neural networks, fuzzy logic and evolutionary optimizatio |
Pre-requisite: |
||
| CEN 459 | Robotics | 3 (3,1,0) | Requisites |
|---|---|---|---|
|
Historical development of robotics, robot arm kinematics, inverse kinematics, trajectory planning, dynamics and control, applications of mobile robots, autonomous mobile robots (navigation and localization), Computer vision, vision-based control, Q-bot mobile robot, and other robotic devices for experiments, Internet and Web Robotics, future trends.
|
Pre-requisite: |
||
| CEN 460 | Digital Speech Processing | 3 (3,1,0) | Requisites |
|---|---|---|---|
|
Review of sampling theorem, filtering, and noise management; speech and language fundamentals; speech perception and production; tools for digitally processing speech signal: windowing, pre-emphasis, and framing; linear predictive coding; applications of digital speech processing such as speech recognition and synthesis. The main purpose of this course is to make the students able to perform Fourier transform and z-transform in speech signal processing; identify and explain phonemes, classes of phonemes, symbols, semantic, and syllables of a language, especially for Arabic and English; illustrate hearing and auditory perception theory; analyze speech in short-time domain, especially using zero crossing and autocorrelation; perform homomorphic analysis of speech signal; extract speech features using linear predictive coding and Mel-frequency spectral coefficients; apply digital speech processing techniques to speech recognition and speech synthesis tasks |
Pre-requisite: |
||
| CEN 465 | Digital Image Processing | 3 (3,1,0) | Requisites |
|---|---|---|---|
|
Covers quantitative models of imaging systems, spatial domain and frequency domain methods, digital filter design for image enhancement and restoration, edge detection, image denoising, image segmentation, image enhancement, image restoration, image compression, and image representation and description. The aims of the course are: Identify the basic components of an image processing system. Recognize the basics of the human visual system as they relate to image processing. Classify image types as binary images, gray-scale images, color and multi-spectral images. Describe image geometry, convolution masks, image algebra and basic spatial filters. Describe the 2-D Fourier including implied symmetry, phase, circular convolution, and filtering. Apply lowpass, high pass, and bandpass filtering; including ideal and non-ideal filters. Classify the categories of image processing applications into restoration, enhancement and compression. Perform adaptive contrast enhancement to digital images. Explain the concepts of image sharpening and smoothing in both spatial domain and spectral domain. Design Wiener and power spectrum equalization filters for image restoration. Explain the basics of image compression and decompression. |
Pre-requisite: |
||
| CEN 490 | Engineering Design & Project Management | 3 (2,0,2) | Requisites |
|---|---|---|---|
| Computer engineering discipline: the potential role of computer engineers in modern society, the role of engineering societies and organizations, liabilities and opportunities for computer engineers; Overview of the engineering design process; Project selection and needs identification; Requirements specification; Concept generation and evaluation; System design: bottom-up and top-down design, functional decomposition; Behavior models: state diagrams, flowcharts, data flow diagrams, UML; Testing and system reliability; Ethical and legal Issues; Project management: Project plan, Gnatt charts, Cost models, Break-even analysis, Cost estimation; Professional skills: effective teamwork, effective written and oral communication. |
Pre-requisites: ENGL 110 |
||
| CEN 492 | Graduation Project 1 | 3 (3,0,0) | Requisites |
|---|---|---|---|
| The student should take a B.Sc. project in related area to his specialization and with technical merit. This project is for two semesters, it is counted as three credits for the first semester. At the end of the semester the student submits a report describing his projects and the parts he completed in the first semester and proposed parts in the 2nd semester. The projects are oriented toward providing experience in the establishment of objectives, criteria, synthesis, analysis, construction, testing, and evaluation; solution of open-ended problems; design methodology. | Students who have achieved 120 credit hours towards the completion of his program. | ||
| CEN 493 | Graduation Project 2 | 3 (3,0,0) | Requisites |
|---|---|---|---|
| The student should take a B.Sc. project in related area to his specialization and with technical merit. This project is for two semesters, it is counted as three credits for the first semester. At the end of the semester the student submits a report describing his projects and the parts he completed in the first semester and proposed parts in the 2nd semester. The projects are oriented toward providing experience in the establishment of objectives, criteria, synthesis, analysis, construction, testing, and evaluation; solution of open-ended problems; design methodology |
Pre-requisite: |
||
Graduate Courses
|
CEN 521 |
Advanced Computer Architecture | 3 (3+0) | Requisites |
|---|---|---|---|
|
This courses introduces the fundamentals of quantitative design and analysis, the basic and intermediate concepts of pipelining, the idea of instruction-level parallelism and its exploitation (speculation, limits to ILP), and the topics of multiprocessors (snoopy cache and directory-based) and thread-level parallelism, cache design, advanced memory hierarchy, and data-level parallelism (Vector, SIMD, GPU). |
|
||
|
CEN 524 |
Advanced Computer Arithmetic | 3 (3+0) | Requisites |
|---|---|---|---|
|
Students will be introduced to several computer arithmetic topics at an advanced level. These subjects include standard and unconventional number representations, the design of fast two-operand and multi-operand adders, high-speed multiplication and division algorithms, floating-point numbers and its algorithms, and some advanced hardware algorithms. Implementation of some topics is also performed and demonstrated. |
Pre-requisite: |
||
|
CEN 526 |
Advanced Embedded Systems | 3 (3+0) | Requisites |
|---|---|---|---|
|
Students will be introduced to the topic of advanced embedded systems, and these subjects include cyber-physical systems, design processes, embedded processors, sensors and actuators, inputs and outputs, multitasking, scheduling, discrete dynamics, the composition of state machines, concurrent models of computation, and quantitative analysis.. |
Pre-requisite: |
||
|
CEN 527 |
Parallel Computing | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course covers the topics of parallel computers, message-passing computing (MPI), embarrassingly parallel computations, partitioning and divide-and-conquer strategies, pipelined computations, synchronous computations, programming with shared-memory (OpenMP), distributed shared-memory systems, load balancing, scalable algorithmic techniques, and termination detection. Some case studies will be discussed, including image processing and numerical algorithms. |
Pre-requisite: |
||
|
CEN 528 |
Processor Design | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course provides an in-depth coverage of the fundamental architecture and implementation techniques for modern processor chips. Topics include a comprehensive introduction, advanced pipelining, superscalar organization, instruction fetch, branch prediction, register renaming, dynamic scheduling, multithreading, and multi-core chips. |
Pre-requisite: |
||
|
CEN 531 |
Computer Networks | 3 (3+0) | Requisites |
|---|---|---|---|
|
Students will be introduced to the topic of computer networks, and these subjects include the following: - Introduction: networking applications, technologies, layered architecture, OSI and TCP/IP models; - Physical Layer: transmission media, electromagnetic spectrum, signal encoding, modulation; - Data Link Layer: framing, error control; medium access control, mac protocols, Ethernet, switching, VLANs, wireless LANs; - Network Layer: routing algorithms, distance vector and link state, circuit and packet switching, IP protocol, addressing, sub-netting; - Transport Layer: services, UDP, TCP, sockets, flow control, and congestion control; - Application Layer: Domain Name System (DNS), email, web, and HTTP. |
|
||
|
CEN 532 |
Mobile Computing and Wireless Networks | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course gives an overview of mobile computing and wireless networks, discusses the signal propagation characteristics of wireless channels, introduces the modulation and coding schemes for wireless systems such as: QPSK, DQPSK, p/4 DQPSK, n-QAM, and talks about the multiple access techniques for wireless systems, including CSMA/CA, PCF, CDMA, OFDM, OFDMA, SC-OFDMA, FHSS, and DSSS. Cellular concepts such as frequency-reusing, cellular, microcellular, picocell, femtocell are covered as well. It also discusses the wireless networking standards such as Wireless PAN (IEEE 802.15.1 (Bluetooth) and IEEE 802.15.4 (ZigBee)), Wireless LAN (IEEE 802.11 a/b/g/n), and 4G mobile wireless (LTE, LTE-Advanced, and Mobile WIMAX IEEE802.16e/m). Radio and network resource management are also introduced. The course also gives an overview of systems issues, performance evaluation, quality of service guarantees, reliability, cognitive radio networks, and mobile IP |
Pre-requisite: |
||
|
CEN 533 |
Performance Analysis of Computer Networks | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course introduces the fundamental concepts of performance evaluation and analysis techniques for computer networks. The course also provides an introduction to queuing theory, Markov chains, separable queuing networks, priority queuing systems and queuing networks. Applications of the learned concepts and how to measure the performance of computer networks and LANs is discussed, as well |
Pre-requisite: |
||
|
CEN 534 |
Wireless Sensor Networks | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course provides an overview of wireless sensor network protocols; its deployment and coverage issues; its various applications; its hardware platforms and operating systems, including motes and TinyOS; its physical and data link layers, including the challenges of MAC issues, localization, self-organization, time synchronization, power management; its network layer protocols, including the concepts of energy-aware and attribute-based routing, node discovery protocols, data dissemination, data aggregation, cluster-based protocols (LEACH), and query models; its reliable transport protocols; sensor network programming (nesC); and some security issues in sensor networks such as SPINS protocol. |
Pre-requisite: |
||
|
CEN 586 |
Network Security | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course covers different topics in network security, including the subjects of symmetric and public-key cryptography, authentication protocols, network security protocols, transport-layer security, IP security, wireless LAN security, email security, network attacks and threats, botnets, malware, intrusion detection systems, and firewalls. |
Pre-requisite: |
||
|
CEN 543 |
Digital Signal Processing 1 | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course provides an overview of linear time-invariant systems, discrete time signals, discrete Fourier transforms (DFT), fast Fourier transforms (FFT), and Z-transforms. It also introduces the design concepts of finite impulse response (FIR) filter, infinite impulse response (IIR) filter, and adaptive filters. The applications of audio and image processing are also covered in this course. |
|
||
|
CEN 546 |
Digital Image Processing | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course covers different topics in network security, including the subjects of symmetric and public-key cryptography, authentication protocols, network security protocols, transport-layer security, IP security, wireless LAN security, email security, network attacks and threats, botnets, malware, intrusion detection systems, and firewalls. |
Pre-requisite: |
||
|
CEN 549 |
Digital Speech Processing | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course provides an overview of sampling theorem and filtering, speech and language fundamentals, and speech perception and production. It also introduces tools for digitally processing speech signals such as windowing, pre-emphasis, and framing. The course also covers the principle of linear predictive coding and some applications for digital speech processing, including speech recognition and synthesis. |
Pre-requisite: |
||
|
CEN 552 |
Mobile Robots | 3 (3+0) | Requisites |
|---|---|---|---|
|
In this course, the concept of mobile robots is introduced and defined. It also presents different related topics such as the characteristics of mobile robots from both kinematics and dynamics perspectives, actuators and sensors, the localization of mobile robots (e.g., Odometry and Kalman filter), path planning, intelligent motion control, robotic vision, and robotic navigation. |
Pre-requisite: |
||
|
CEN 553 |
Selected Topics in Computer Engineering | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course is designed to enable students to study various specialized topics of interest in the field of computer architecture. The contents of such a course are to be determined by the instructor and the department. The course intends to offer cutting-edge topics in the field. |
|
||
|
CEN 570 |
Simulation and Modeling | 3 (3+0) | Requisites |
|---|---|---|---|
|
During this course, a student is exposed to different subjects in the topic of simulation and modeling. These subjects include discrete-event simulation approaches, simulation cycle, probability and statistics in simulation, mathematical and statistical models, validation and verification of simulation models, random number generation, building valid and credible simulation models, modeling of data simulation, and analyzing output data. The student is also introduced to some simulation software, the concept of distributed and parallel simulation, simulation techniques of some well-known systems such as queues, some applications to computer systems, and a number of realistic case studies. |
|
||
|
CEN 571 |
Stochastic Processes | 3 (3+0) | Requisites |
|---|---|---|---|
|
The course addresses the following topics: random variables, moments, conditional distributions and moments, generating functions, functions of random variables, joint distributions and moments, random process models: its concepts and definitions, discrete-time models, continuous-time models, time averages, and ergodic principle. The course also introduces the theory of renewal, renewal processes, alternating renewal theorem, regenerative process, Markov chains, Markov processes, discrete-time and continuous time Markov chains, processing of random signals, and the response of linear systems to random inputs. It also presents some applications of random processes in control, reliability, networks and communication systems. |
|||
|
CEN 573 |
Algorithms Analysis and Complexity Theory | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course covers techniques for the design and analysis of algorithms. The topics include worst and average case analysis, the asymptotic order of growth for algorithms, binary-search trees, hash functions, graph algorithms, BFS, DFS, Greedy algorithm, minimum spanning tree, shortest path algorithms, divide and conquer, and mergesort algorithm. The course also introduces the concepts of dynamic programming, network flow, NP-completeness and computational intractability, and approximation algorithms. |
|||
|
CEN 576 |
Intelligent Systems | 3 (3+0) | Requisites |
|---|---|---|---|
|
The course provides an introduction to knowledge-based intelligent systems, rule-based expert systems, fuzzy expert systems, connectionist neural networks, learning and adaptation, support vector machine, and evolutionary algorithms (genetic algorithm, particle swarm optimization, ...). The course also presents some applications to signals and systems, including speech processing, control, image processing, and communication. |
|||
|
CEN 591 |
Seminar in Computer Engineering | 1 (1+0) | Requisites |
|---|---|---|---|
|
This is a compulsory course that aims at improving the student's research and reading skills. These skills include how to search, read and analyze a research article, and how to draw relevant conclusions. The course also tries to improve the student's communication skills, including how to deliver an oral presentation, how to write a scientific report writing, how to cite references, and how to take into consideration the ethical issues in academic research. |
|||
|
CEN 592 |
Independent Study | 2 (2+0) | Requisites |
|---|---|---|---|
|
This is a graduate-level directed study course, which focuses on a particular topic in computer engineering. Students wishing to take this course must, with a faculty member, formulate a complete proposal accurately describing the course content, the learning goals, the intended method, the extent of supervision, and the method by which their works will be evaluated. This course cannot be taken as a substitute for another course with the same content. |
|||
|
CEN 596 |
Thesis Proposal Preparation | 1 (1+0) | Requisites |
|---|---|---|---|
|
|
Pre-requisite: pass12 credit hours |
||
|
CEN 600 |
Thesis | 6 (6+0) | Requisites |
|---|---|---|---|
|
The student should conduct research work on a selected topic related to computer engineering. The subject and focus of the proposed research idea must be novel and contemporary. During this course, the student prepares a thesis to be defended in the presence of a committee. In the thesis, the selected topic should be comprehensively introduced, some related works should be surveyed and summarized, both problem statements and formulations should be included, the proposed system models and the methods of evaluation should be explicitly indicated, complete analysis of the obtained results should be discussed, and finally some conclusions and future works should be presented. |
Pre-requisite: |
||
|
CEN 601 |
Engineering Stochastic Processes and its applications | 3 (3+0) | Requisites |
|---|---|---|---|
|
Random variables. Moments. Conditional distributions and moments. Functions of random variables. Joint distributions and moments. Random process models: basic concepts, properties. Stationary random processes: covariance and spectrum. Response of linear systems to random inputs: discrete-time and continuous-time models. Time averages and Ergodic principle. Sampling principle and interpolation. Selected applications in Control, Networks and Communication Systems. |
|||
|
CEN 611 |
Design of CAD Tools | 3 (3+0) | Requisites |
|---|---|---|---|
|
Solving logic design problems with CAD tools for VLSI circuits. Analysis and design of exact and heuristic algorithms for logic synthesis. Topics: representation and optimization of combinational logic functions (encoding problems, binary decision diagrams), representation and optimization of multiple level networks (algebraic and Boolean methods, don’t-care set computation, timing verification, and optimization), modeling and optimization of sequential functions and networks (retiming), semi-custom libraries and library binding. |
|||
|
CEN 628 |
Advanced Parallel Computing | 3 (3+0) | Requisites |
|---|---|---|---|
|
The principles and tradeoffs in the design of parallel architectures. Emphasis is on naming, latency, bandwidth, and synchronization in parallel machines. Parallel programming models, multiprocessor systems, multi-computer clusters, Case studies on shared memory, message passing, data flow, and data parallel machines. Architectural studies and lectures on techniques for programming parallel computers. |
|||
|
CEN 629 |
Fault Tolerant Systems | 3 (3+0) | Requisites |
|---|---|---|---|
|
Physical Fault Errors and Failures; Fault Analysis and Diagnosis in Digital Circuits; Fault Modeling; Testing Techniques; Test Generation and Fault Simulation; Design For Testability; Built-in-self-Test; Reliability Concepts; Fault prevention (fault intolerance); Fault Tolerance; Replication, Redundancy, and Diversity. |
|||
|
CEN 632 |
Graphs and Network Flows Theory and Applications | 3 (3+0) | Requisites |
|---|---|---|---|
|
Solutions to analysis and synthesis problems that may be formulated as flow problems in capacity constrained (or cost constrained) networks. Tools for network flow theory using graph theoretic methods. Applications to communication, and transmission problems. |
|||
|
CEN 633 |
Networks Design and Algorithms | 3 (3+0) | Requisites |
|---|---|---|---|
|
Principles of network design, network design algorithms, centralized network design, static and dynamic routing algorithms, application of minimum spanning tree and shortest path algorithms to problems in network design, distributed network design, case studies. |
|||
|
CEN 634 |
Personal Communication Systems | 3 (3+0) | Requisites |
|---|---|---|---|
|
Underlying principles of personal communications and Cellular systems. Radio signal propagation and signal impairments:, Noise & interference-limited communications, multiple access, radio resources management, and mobility management. Building blocks of personal networks. Essential functions of cellular systems. Examination of the leading and standard systems. |
|||
|
CEN 635 |
Telecommunication Networks: Protocols and Performance Analysis | 3 (3+0) | Requisites |
|---|---|---|---|
|
Error, flow and congestion control protocols, multiplexing and multiple-access, switching, routing. Selected case studies on Access networks, packet networks, Broadcasting network, satellite and terrestrial radio networks. |
|||
|
CEN 636 |
Optical Networks | 3 (3+0) | Requisites |
|---|---|---|---|
|
Components, topologies and architecture of optical networks. Basics of the Physical layer, higher network layers and protocols (Media Access Control, Network and Transport Layers) as integral parts of network design. Performance metrics, analysis and optimization techniques will be developed to help guide the creation of high performance complex optical networks |
|||
|
CEN 637 |
Sensor Networks | 3 (3+0) | Requisites |
|---|---|---|---|
|
Sensor network and Ad-Hoc networks: characteristics & applications, routing and performance analysis. Deployment; energy-efficiency; wireless communications; data-centric operation; capacity and lifetime; reliability, fault-tolerance and security. Standards of sensor networks |
|||
|
CEN 638 |
Wireless and Multimedia Networks | 3 (3+0) | Requisites |
|---|---|---|---|
|
Overview of wireless networks with multimedia services. Physical Layer, Wireless Networks Medium-Access Control (MAC) protocols (TDMA, FDMA, CDMA, ALOHA-based, CSMA/CA). Wireless & Multimedia Networks: Standards: 802.11, 802.11e, 802.11n, 802.15, and 802.16 …etc, QoS, wireless & multimedia networks new trends and applications. |
|||
|
CEN 639 |
High Performance Interconnection Networks | 3 (3+0) | Requisites |
|---|---|---|---|
|
Basics, theories, architectures, and technologies for high-performance high-speed large-scale routers and switches. Fundamental concepts and technologies of packet forwarding, classification, and switching in IP routers, Ethernet switches, and optical switches. IP Route Lookup, Packet Classification, Packet Scheduling, Buffer Management, Basics of Packet Switching, Input-buffered Switches, Output-buffered Switches, Shared-memory Switches, Crosspoint-buffered Switches, Close-network Switches, Multi-Stage Buffered Switches, Two-Stage Load-Balanced Switches, Optical Packet Switches, and ASIC for IP Routers. |
|||
|
CEN 645 |
Speech and Video Signal Processing | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course deals with some of the common digital signal processing techniques for the analysis of speech and video signals. Topics include: signal analysis using short-time Fourier transform, linear prediction, and spectrum processing; applications in speech (& video) compression and coding, speech and speaker recognition, audio and video watermarking and steganography, and speech & video enhancement, inferring 3D properties from, object detection & recognition, multiview geometry, and structure from motion. |
|||
|
CEN 647 |
Pattern Recognition | 3 (3+0) | Requisites |
|---|---|---|---|
|
Decision theory, parameter estimation, density estimation, non-parametric techniques, supervised learning, linear discriminant functions, clustering, unsupervised learning, artificial neural networks, feature extraction, support vector machines, and pattern recognition applications (e.g., face recognition, fingerprint recognition, automatic target recognition, etc.), overview of other machine learning techniques and data mining. |
|||
|
CEN 651 |
Nanorobotics | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course deals with some of the common digital signal processing techniques for the analysis of speech and video signals. Topics include: signal analysis using short-time Fourier transform, linear prediction, and spectrum processing; applications in speech (& video) compression and coding, speech and speaker recognition, audio and video watermarking and steganography, and speech & video enhancement, inferring 3D properties from, object detection & recognition, multiview geometry, and structure from motion. |
|||
|
CEN 645 |
Speech and Video Signal Processing | 3 (3+0) | Requisites |
|---|---|---|---|
|
This course deals with some of the common digital signal processing techniques for the analysis of speech and video signals. Topics include: signal analysis using short-time Fourier transform, linear prediction, and spectrum processing; applications in speech (& video) compression and coding, speech and speaker recognition, audio and video watermarking and steganography, and speech & video enhancement, inferring 3D properties from, object detection & recognition, multiview geometry, and structure from motion. |
|||
|
CEN 691 |
Advanced Topics in Computer Engineering | 3 (3+0) | Requisites |
|---|---|---|---|
|
In this course, students are able to study advanced topics in Computer Engineering. The content and syllabi of this course is designed by a member of staff and approved by the department council. |
|||
|
CEN 696 |
Independent Research Study (1) | 2 (2+0) | Requisites |
|---|---|---|---|
|
The student selects a research topic and conducts a literature review in relation to the topic. |
|||
|
CEN 697 |
Independent Research Study (2) |
2 (2+0) |
Requisites |
|---|---|---|---|
|
This course deals with some of the common digital signal processing techniques for the analysis of speech and video signals. Topics include: signal analysis using short-time Fourier transform, linear prediction, and spectrum processing; applications in speech (& video) compression and coding, speech and speaker recognition, audio and video watermarking and steganography, and speech & video enhancement, inferring 3D properties from, object detection & recognition, multiview geometry, and structure from motion. |
|||
|
CEN 699 |
Thesis Proposal Preparation | 3 (3+0) | Requisites |
|---|---|---|---|
|
Prepare a preliminary report on the thesis topic, related work, objectives, and methodology. |
Pre-requisite: |
||
|
CEN 700 |
Thesis | 3 (3+0) | Requisites |
|---|---|---|---|
|
Write a PhD thesis and defend it in front of a jury. . |
Pre-requisite: |
||
Chairman's Message
On behalf of my colleagues at the Information Systems department, I would like to welcome you to the first IS department in Saudi Arabia. Since 1982, the department provided to our beloved country leaders who help build and lead several IT government and private organizations. The department also gain a lot of prizes nationally and internationally. The department also obtained academic accreditations for its BSc program from national and international organizations, specifically ABET (Oct 1, 2010 – Present) and NCAAA.
As one of the pillars of the College of Computer and Information Sciences, the department always seeks to keep pace with the rapid scientific developments in the field of information systems and to achieve the Kingdom’s 2030 vision by constantly updating its programs and plans, the latest of which was the addition of two new tracks in the master’s program, namely: data science and digital transformation tracks.
In addition to offering the department for bachelor's, master's and doctorate degrees in information systems, the department also participates in other departments in teaching and supervising projects for the master's program in cybersecurity.
Finally, I invite everyone to explore the department's website and communicate with the department's staff in case of any inquiries.
Dr. Amal Abdulrahman Alazba
Chair of the Information Systems Department
PhD Comprehensive Exam - Session 2015/2016 1st semester
PhD Comprehensive Exam - Session 2015/2016 1st semester
This document contains the information related to conducting PhD comprehensive exam for the Information Systems Department at the College of Computer and Information Sciences, King Saud University, to be conducted during the 1st Semester of the academic year 1436/1437 (2015-2016).
The document includes the following sections:
1. Exam Courses
2. Specializations
3. Exam Schedule
4. Course Contents
1. Exam Courses
The PhD. Comprehensive exam written part includes the following depth and breadth courses:
Breadth courses of the exam:
CIS 611 - Information and Knowledge Management
IS 524 - Advanced Information Systems Analysis & Design
IS 533 - Advanced Topics in Databases
Depth courses of the exam:
Every student chooses 2 depth courses among one specialization (see Table 1).
2. Specializations
The following are the specializations of the Information Systems Department and the courses within each one. Every student taking the comprehensive exam should choose two courses within a single specialization for the comprehensive exam.
Table1: Specializations and Electives for the IS PhD. Comprehensive Exam
3. Exam Schedule
Table 2: Exam Schedule
4. Course Contents
CIS 611 - Information and Knowledge Management
Knowledge as a manageable asset. Organizations classes, adaptive systems, information and knowledge environment. Information handling. Organizational setting and technologies used for handling information and knowledge.
IS 524 - Advanced Information Systems Analysis & Design
Foundations for Systems Development, Object-Oriented Analysis & Design: Determining System Requirements, Structuring System Process Requirements, Object-Oriented Analysis & Design with UML notation, Rational Unifed Process Methodolgy, IS Reuse(Design Patterns and Frameworks). IS Service oriented architecture.
IS 533 - Advanced Topics in Databases
Database Systems: Semantic data modeling, Object-oriented databases, Query optimization, Semantic Integrity. Distributed Databases (DDB), Data fragmentation and distributed transparency, Distributed query processing, Concurrence control methods: Serializability in a DDB and the two-phase locking method, Concurrence control based on timestamps, the two-phase COMMIT protocol. Recovery management.
CIS 623 - Data Warehouses and Knowledge Discovery
Advanced topics in deductive, active, temporal and OR DBs, extensible databases, spatial queries and storage structures, time series, data warehouses and knowledge discovery, and databases and the Web (queries on semi-structured data). Modern Trends in Intelligent Information Systems and DBMSs, Deductive Databases and knowledge bases, Temporal Queries and Reasoning, Active Databases, Object-Relational DBMSs.
CIS 621 - Web Content Management
Concepts and techniques in website content representation, organization, presentation, and development with the eXtensible Markup Language (XML). Basic XML syntax, XML vocabulary specification, data modeling, XML style sheets and transformation, and Document Object Model (DOM). Design the Document Type Definitions (DTDs) and XML schemas. Creation and manipulating of XML documents. Advanced topics in manipulating XML data, including standards, namespaces and schemas, XML Transformation Language, and databases in relation to XML.
IS 536 - Information Security Governance
Overview of skills, knowledge, techniques, and tools required by information-technology security professionals. Topics include security and risk management, physical security, access control, cryptography, security architecture and design, security for networks and telecommunications, application security, and legal considerations.
CIS 628 - E-Business Strategies
Different aspects of conducting business over the Internet. Business-to-business and business-to-consumer e-Business models. The history and future of the Internet, Internet infrastructure, website design, Internet security, web server platforms, the components that comprise an e-Business strategy and demonstrate methods strategy. Software tools and protocols for web-based applications, identify the components of e-Business strategies and methods. Integration of e-business applications to back-office.
IS 522 - Enterprise Applications Development
Key concepts and principles involved in the development of enterprise applications. Essential emerging topics such as the service-oriented architectures and enterprise applications integration. Web services technologies and the role they play today in the development and integration of enterprise application. Key technologies, standards, protocols, and platforms being used in the design and implementation of modern enterprise applications.
IS 532 - Advanced Enterprise Resource Planning
Enterprise Resource Planning (ERP), organization, business processes, and integration, ERP implementation, Change Management (CM), Customer Relationship management, Supply Chain Management.
Independent Study I & II Guidelines
Ph.D. in Information Systems
Program Info | Objectives | Admission | Degree Requirements | Structure | Study Plan | Procedures
Procedures
Independent Study I & II Guidelines:
The following are guidelines that explain what is to be expected from PhD students taking Independent Study I or II:
- It is strongly advised that student utilize the Independent Study I and II to help them prepare for their proposal. Although this is not mandatory, doing so will be very helpful in the preparation for one of the most important milestones in the PhD program
- The evaluation process for both Independent Study I & II are as follows:
- After approximately one month from the start of the semester, students will be expected to give a 5 minute talk (along with a presentation) explaining the work they have started in the Independent Study course. Following the talk, there will be Q&A and feedback.
- On the last week of classes, student will be presenting the work they have done in the Independent Study Course. The presentation will be 20 minutes, with 10 minutes QA
- Independent Study seminars will be attended by all students and advisors taking and teaching an Independent Study course in any given semester.
- The advisor will be responsible for 80% of the grade, while the other advisors teaching Independent Study classes in the semester will be responsible for the remaining 20%.
PhD Proposal Approval Procedure
Ph.D. in Information Systems
Program Info | Objectives | Admission | Degree Requirements | Structure | Study Plan | Procedures
Procedures
PhD Proposal Approval Procedure:
The following is the procedure to be used by PhD students and advisors in order to initiate the proposal review process:
- Once the proposal is ready, it should be sent to PhD Committee Email. The proposal will be checked to confirm:
- Title adherence to proposal topic
- How realistic are the goals
- Sufficient number of references
- Initial language check
- Plagiarism
- The Advisor should nominate 5 faculty members, by filling the Proposal Reviewer Nomination Form and sending it to the PhD Committee Email. The following should be taken into account:
- All 5 faculty must be involved in the proposal’s research area.
- Assistant Professors can also part of the review panel. However, they will not be able to be part of the Defense committee (unless they are promoted to associate professors by the time of the formal finalization of the defense committee)
- Once the proposal passes the initial check in “1”, and the PhD committee receives the Proposal Reviewer Nomination Form, the Proposal is formally entered into the department council meeting
- After the department council approval, the proposal, along with the Proposal Reviewer Nomination Form is sent to the CCIS PhD council to select the 3 faculty review panel.
- The PhD committee in turn will communicate the names to the advisor
- The advisor should send the proposal, and the Proposal Review Form to the 3 faculty review panel. AT THE SAME TIME, the advisor should schedule the day/time/location of the proposal presentation
- The advisor must make sure that the reviewers send their review before the proposal presentation, to allow the student to incorporate the changes requested.
- After the completion of the proposal presentation, the advisor should ask the review panel to fill and sign the Proposal Presentation Form.
- The advisor should send to the PhD committee
- The 3 Proposal Review Forms (that must be completed by the panel before the presentation)
- The Proposal Presentation Form
The Proposal Presentation Form is finally sent to the PhD Council for final approval of the PhD proposal.
Home
Information Technology Department
The Information Technology (IT) Department is one of the five departments of the College of Computer and Information Sciences and is a discipline recognized by the ACM. Although the department was first established in 1408 as a female only department; we are currently working on expanding our department to offer degrees to male students as well.
Information Technology is unique in its combination of multiple computing fields and as a result, the department is distinctive in the diversity of its faculty’s fields of research and education.
Those fields include Artificial Intelligence, Bioinformatics, Cyber Security, Data Science, Human Computer Interaction, Networking, Robotics etc. This diversity can be clearly seen in the different graduation projects our students complete.
Currently, the department offers two degrees, bachelor of science in Information Technology and MSc of science in Information Technology. We regularly review our programs’ plans and work closely with our partners in the industry to update them according to the everchanging needs of the market.
Bachelor of Science in Information Technology
| Master of Science in Information Technology
|
About the department
The Information Technology (IT) program follows closely the guidelines of the Association of Computing Machinery – the governing body that influences computer science education around the world – as defined in its 2008 publication “Computing Curricula – Information Technology Volume”. This in turn will enable graduates to achieve the student outcomes mentioned in the ABET CAC accreditation criteria and will ensure that our renewed program meets both the general and the IT specific curriculum criteria.
The image of the program is built around the following key strengths:
- A sound program in information technology with focus on areas beyond programming or immersive software development.
- The potential to conduct projects, internships, and research with faculty having broad professional experience.
Moreover, from a curricular point of view, the program is designed to possess the following strengths:
- A core that focuses on courses that enhance the learning outcomes.
- A practical training to enhance the practical experience of the students.
- Satisfy accreditation requirements on both national and international levels.
- Adaptability to changes in job market needs as the new program provides the in-depth knowledge through specific concentrations that can be exchanged with another.
The program offers multiple concentrations (tracks) thereby allowing students to gain their degree in The Information Technology.
SWE497- Graduation Project II
SWE497 Project II
The following are characteristics of excellent work on the corresponding key criteria in the evaluation of the written report part of SWE 497 – Graduation Project Evaluation Form.
Overall Organization and Presentation
-
Report should be coherent and well organized following the provided report template.
-
Grammar, spelling, punctuation and formatting should be flawless, which allows the reader to focus on the message.
-
Figures and tables should be numbered appropriately and captions should be used to explain the corresponding figures and tables.
System analysis:
-
Requirements:
-
Important requirements should not be missed.
-
Requirement statements should be clear (there should be no ambiguity).
-
Requirement statements should be written using a consistent style.
-
Non-functional requirements should be measurable (fit criteria should be defined).
-
Requirements should be well-organized. Merely listing a large number of requirements without any organizing effort should be avoided.
-
Types of requirements should be defined (functional, non-functional, and design constraints)
-
Requirements should be abstract (avoiding making unnecessary design decisions).
-
-
Use Case Model:
-
All use cases should be found. The elaborated use cases should meet all functional requirements.
-
Use cases should have unique, intuitive, and explanatory names.
-
The UC diagram should use correct UML notation.
-
Use case relationships should be correct (e.g., includes and extends relationships).
-
Use case descriptions are not required.
-
Design and Architecture:
-
Architecture Design:
-
Logical layers/subsystem design should be clearly defined.
-
The design should show relationships/connections between layers/subsystems.
-
Appropriate architectural style should be chosen. The choice should be justified.
-
Alternative styles should be discussed (if applicable).
-
Constraints that affect the way the architecture can be implemented should be discussed (if applicable).
-
-
Detailed Design:
-
Detailed class diagram should be based on the analysis classes identified earlier.
-
Detailed information of each class should be clearly defined such as:
-
Data attributes
-
Operations (parameter and return types should be defined)
-
Data structures
-
Algorithms (if applicable)
-
-
Database design should describe the necessary tables and columns.
-
Testing:
-
The test approach should be thoroughly described. For each major set of features, the approach should specify the major activities, techniques, and tools which will be used.
-
Functional testing should include fairly enough test cases.
-
Some functional testing should be derived from use cases. Some test cases should be generated to cover enough scenarios of some use cases.
-
Some functional testing should be derived based on inputs for some screens. For each input, equivalence classes should be defined and boundary values should be used to define the test cases.
-
Some unit testing and code coverage (white box testing) should be demonstrated.
-
Some usability testing should be demonstrated.
-
A tool such as JUNIT, Clover, or Code Cover should be used for unit testing.
-
Screen shots should be used to show results for some test cases.
-
Screen shots should be used to show the output of applying the testing tools.
System implementation:
-
Technologies used should be adequately described. These include database systems, programming languages, development platforms, runtime environments, servers, operating systems, etc.
-
Mapping of code to requirements or use cases should be adequately described. Mapping description should include the names of methods or classes that implement the corresponding requirement or use case.
-
In the Implementation Details subsection, the students should present a walkthrough through the main program logic. The students should include several screen shots showing the GUI interface and code snippets showing the program logic.
-
The walkthrough should show the starting point and then should cover the program logic for the most important functions.
-
The walkthrough description should be enough to help the reader understand the source code.

