COURSE DETAIL
This course covers basic concepts of database management, database applications and database processing. Topics on various aspects of database programming, database design using the ER model, relational database design theory, application development will be covered. Query processing techniques will also be covered. Some other topics related to database processing may also be covered.
COURSE DETAIL
This course provides sound understanding of fundamental concepts and emerging problems in networking and provides training in network programming. Students will learn how to explain in detail how a piece of information travels through the Internet and reaches the other side of the world.
Topics include emerging issues around the Internet, basic network programming for sockets, TCP, and routing. Prerequisite: basic programming skills in C/C++.
COURSE DETAIL
This course covers programming language concepts, not as paradigms but as a set of basic building blocks, by using the Scala programming language to implement interpreters for the concepts.
Students will learn how to learn new languages quickly and how to evaluate various languages and pick the most suitable one for a given task. The course also explores how to know when and how to design language, and how to understand the effects of languages on thought and communication.
COURSE DETAIL
This course introduces the basic principles and hardware structures of a modern programmable computer. Students will explore computer architecture as the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals.
Students will learn how to design the control and datapath for a pipelined RISC processor and how to design fast memory and storage systems. The principles presented in lecture are reinforced in the laboratory through design and simulation of a register transfer (RT) implementation of a RISC processor pipeline in Verilog.