Ravi Ramaseshan

NCSU Logo Graduate Student
North Carolina State University
Home
R�sum�
Coursework
Undergraduate
Graduate

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

Memory Systems

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.

Parallel Systems

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

Advanced Computer Architecture

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).

Operating Systems Principles

Fundamental issues related to the design of operating systems. Process scheduling and coordination, deadlock, memory management and elements of distributed systems.

Code Generation and Optimization

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.

Design and Analysis of Algorithms

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).

Architecture of Parallel Computers

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.

Graph Theory

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.

Real Time Computer Systems

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.

Hosted by www.Geocities.ws

1