|
|
Schedule
| Course |
Section |
Title |
Credit |
Days |
Time |
Bldg/Rm |
Instructor |
| CSC591T |
003 |
SPTP-SOFTWARE-TEST |
3.00 |
M W |
02:20P-03:35P |
EB2 01227 |
XIE |
| CSC895 |
051 |
DR DISSERTAT RES |
6.00 CR |
M T W H F |
ARRANG |
EB2 03266 |
MUELLER |
Graduate Courses
|
Covers recent research on overcoming the problem of memory
access and memory speed, two major limitations on the speed
of computers. Overview of the current state of memory
technologies, novel cache structures and management
techniques, prefetching,memory compression, and parallelism
at the instruction and thread levels. Research papers
required.
|
|
Basic concepts of parallel computation; parallel programming
models and algorithm design; load balancing and performance
optimization; parallel I/0 and high-end storage systems;
high performance parallel applications.
Presentation on
Tera-Scalable Algorithms for
Variable-Density Elliptic Hydrodynamics with Spectral
Analysis
Presentation on
Data Dependence Profiling for Speculative Optimizations
|
|
The topic of ECE 791G this semester is multi-core
architecture. General-Purpose Chip Multiprocessors (CMP),
Thread-Level Speculation (TLS), Vector Processors,
High-Performance Embedded Chip Multiprocessors,
Multiprocessor System-on-Chip (MPSoC).
|
|
Fundamental issues related to the design of operating
systems. Process scheduling and coordination, deadlock,
memory management and elements of distributed systems.
|
|
Provide insight into current compiler designs dealing with
present and future generations of high performance
processors and embedded systems. Investigate dataflow
analysis and memory disambiguation, classical and
parallelism enhancing optimizations, scheduling and
speculative execution, and register allocation. Review of
techniques used in current research compilers.
|
|
Algorithm design techniques: use of data structures,
divide and conquer, dynamic programming, greedy
techniques, local and global search. Complexity and analysis
of algorithms: asymptotic analysis, worst case and average
case, recurrences, lower bounds, NP-completeness.
Algorithms for classical problems including sorting,
searching and graph problems (connectivity, shortest
paths, minimum spanning trees).
|
|
The need for parallel and massively parallel computers.
Taxonomy of parallel computer architecture, and
programming models for parallel architectures. Example
parallel algorithms. Shared-memory vs. distributed-memory
architectures. Correctness and performance issues.
Cache coherence and memory consistency. Bus-based and
scalable directory-based multiprocessors.
Interconnection-network topologies and switch design.
Brief overview of advanced topics such as
multiprocessor prefetching and speculative parallel
execution.
|
|
Basic concepts of graph theory, including: paths and
connectivity, Euler tours and Hamilton cycles, matchings
and independence, graph coloring, planarity, directed
graphs and network flows, vector spaces associated with a
graph, and applications with emphasis on organizing
problems for computer solution.
|
|
Design and implementation of computer systems required to
provide specific response times. Structure of a real-time
kernel, fixed and dynamic priority scheduling algorithms,
rate monotonic scheduling theory, priority inheritance
protocols, real-timebenchmarks, case study of a real-time
kernel.
Presentation on
Nano-RK: An Energy-Aware Resource-Centric RTOS for Sensor
Networks
|
Undergraduate Courses
Engineering Maths - I
Complex numbers, Hyperbolic functions, Logarithms of
complex numbers, Matrices, Eigen values and eigen vectors,
Successive differentiation, Taylor's and Maclaurin's
theorems, Indeterminate forms, Curve tracing, Partial
differentiation, Total derivatives, Jacobians and their
applications.
|
Engineering Maths - II
Coordinate system, plane, straight line, Sphere, The cone
and the cylinder, Differential equations, Applications of
differential equations, Fourier series, Reduction
formulae, Beta and Gamma functions, Differentiation under
the integral sign and error function, Rectification of
curves, Double and triple integrals, Applications of
multiple integrals to areas, volumes mean and RMS values,
Center of gravity and moment of inertia.
|
Engineering Maths - III
Linear differential equations with constant coefficients,
Simultaneous linear differential equations, applications,
Application of partial differential equations, Complex
differentiation, Complex integration and conformal
mapping, Fourier transforms, Laplace transforms,
Z-transforms, Vectors algebra, Vector differentiation,
Vector integration, Application of vectors to
electromagnetic fields.
|
Discrete Structures and Graph Theory
Introduction, Sets, Propositional calculus, Permutations,
Combinations and Discrete probabilities, Relations and
functions, Graphs and planar graphs, Trees and cut sets,
Algebraic systems, Vector space.
|
Digital Electronics and Logic Design
Algebra of logical variables, Logic families, Design of
combinational logic circuits, Flip flops, Registers,
Counters, Memories, Sequential circuits, Algorithmic state
machines, Programmable logic devices, Digital signal
transmission and associated problems.
|
Numerical Computations and Programming Laboratory
Advanced C programming, Structured programming and
programming skills, Representation of numbers and errors,
Solution of transcedental equations, Interpolation,
Numerical differentiation and integration, numerical
solution of simultaneous equations, Solution of ordinary
differential equations.
|
Microprocessor Techniques
Introduction to 8-bit processor architecture, 8085
microprocessor architecture, Memory interfacing, 8085
addressing modes and instruction set, Assembly language
programming, Timing diagram of Instruction execution,
I/O Programming, PPI 8255, 4x4 key matrix interfacing,
7-segment display interfacing, 8085 interrupt structure,
PIC 8259 interfacing and programming, 8253 timer, 8279
keyboard controller, DMA 8257/37, Serial I/O, 8251 USART
programming and interfacing, RS232C interface.
|
Data Structures and Files
Introduction to data structures, Algorithm analysis,
Algorithmic strategies, Linear data structures using
sequential organization, Stacks and queues, Non-linear
structures, Graphs, Searching and sorting techniques,
Files.
|
Theory of Computer Science
Set theory, Language, Mathematical Preliminary, Graph and
Trees, Basic Machine. Finite State Machine, Regular
Expressions, Grammars, Pushdown Stack Memory Machine, Post
Machine, Production Systems, Turing Machine, Church Turing
Hypothesis, Incompleteness and Undecidability, Solvability
and Unsolvability, Applications.
|
Computer Organization
Computer Arithmetic, Central Processing Unit, 80386
Architecture, Instruction Pipelining, Control Unit,
Memory Organization, Input Output Systems,
Multiprocessor Configurations, OS Support, RISC
Architecture, Superscalar Architectures.
|
Computer Graphics
Basic Concepts, Line and circle generation, Polygon
Filling Algorithms, Segments, 2D transformation
primitives - translation, rotation, scaling, shearing.
Viewing transformations - parallel and perspective
projections. Windowing and clipping, Hidden surfaces
and lines, Light, Color and Shading, Curves and Fractals,
Graphics hardware, Graphical User Interface, Graphics
applications.
|
Computer Algorithms in Signal Processing
Introduction to DSP, Signals and Systems, Analysis of
signals: Fourier transforms, Discrete Fourier transforms,
Fast Fourier transforms, Analysis of LSI systems, Digital
Filters, Design of FIR and IIR processors, DSP processors:
Architectures of ADSP-21xx and ADSP-210xx series of DSP
micro-processors, Applications of DSP.
|
Principles of Programming Languages
Introduction, Procedural languages, Object oriented
languages, Functional programming, Basic concepts of Logic
Programming and Concurrent Programming. Case Study of
Pascal, Smalltalk, Lisp, C, C++, Prolog.
|
Microprocessor Based Systems
80386 Architecture Real, Protected and VM86 modes,
Memory management through segmentation and paging.
Protection mechanism and privilege levels, privileged
instructions, inter-privilege level access mechanisms
through gates. Multi-tasking support. Exceptions, Faults,
Traps, Interrupt handing. Co-processor interface. Memory
interfacing, Memory and cache controllers. Pentium family
architecture and features. Micro-controller MCS-8051
family architecture.
|
Data Base Management Systems
Introduction to DBMS, Data Modeling, Relation Model,
SQL, Relational database design, Database administration
issues, Transaction management, Object-Oriented DBMS,
Database systems architecture, Data warehousing, Data
mining.
|
Systems Programming
Introduction, Assemblers, Macro Processors, Linkers
and Loaders, Compilers, Software Tools, Operating System,
Dynamic Linking in Windows.
|
Software Engineering
Software and Software Engineering, Planning and Management
of Software Projects, Systems Engineering, Requirement
Analysis, Design Fundamentals, Design Methods, Software
Testing and Testing Strategies, Object Oriented Software
Engineering, Unified Modeling Language (UML),
Software Quality Assurance.
|
Computer Networks
Introduction to computer networks, Network analysis and
modeling, Data Link Layer, Medium Access Sublayer,
Network Layer, Transport Layer, Network Security, Network
Management, Internet and Applications.
|
Operating Systems
Types of operating systems, processes and process
management, interprocess communication and
synchronization, dead lock, critical region, classical
problems in concurrent programming. Process management
in UNIX. Memory Management, I/O Management, File
Management, File management in UNIX, Distributed
operating systems.
|
Object Oriented Modeling and Design
Review
of object modeling, Importance of modeling, Overview
of UML: scope, diagrams, unified software development
life cycle. UML Diagrams: terms, concepts, relationships.
Advanced Class Diagrams, Instances and Object
Diagrams, Collaborations, Architectural Modeling, Introduction
to Component Technology: COM, DCOM and CORBA.
|
Compiler Construction
Introduction to Compilers, Lexical Analysis, Syntax
Analysis, Static Semantic and Intermediate Code
Generation, Code Generation, Code Optimization, Run Time
Storage Organization.
|
Design and Analysis of Algorithms
Algorithm analysis, complexity issues, Divide and Conquer
Method, Greedy Method, Dynamic Programming, Back Tracking,
Branch and Bound, NP Hard and NP-complete problems.
|
Advanced Computer Architecture and Computing
Introduction to parallel processing, Pipeline processing,
Vector processors, Array processors, Parallel algorithms
for array processors, Multiprocessor architecture,
Multithreaded architecture, Parallel software issue:
Compiler technology, Operating systems, Parallel
programming techniques, Case study of Ultraspark V-9
architecture, Introduction to neuro computing and optical
computing.
|
Project Planning and Management
Introduction to project planning and management,
Requirement Engineering, problem definition, system
analysis requirement, Risk management, Detailed project
definition, Estimation, Resource planning and scheduling,
Software quality assurance, Introduction to Advanced
topics in software engineering, SEI-CMM, CASE Tools.
|
Advanced Unix Programming
Brief review of UNIX kernel, Network file system,
Features of UNIX shells, Process control, Signals,
Interprocess communication, Multithreaded programming,
I/O subsystem, Rebuilding of Kernel.
|
Multimedia Techniques
Introduction, Multimedia configuration, Multimedia
operating system, Multimedia Audio, Multimedia graphics,
Image compression techniques, Virtual reality and
multimedia, Multimedia devices, Windows support to
multimedia, Case study.
|
|