Ramesh Yerraballi

CV

Publications

Teaching Evaluations

UT

Other Schools

Tools

YouTube Channel

Freeyoga

Contact:  ramesh@mail.utexas.edu
Office Hrs:
 MW: 2:00-4:00pm (EER 5.824)

“It is important that students bring a certain ragamuffin barefoot irreverence to their studies, they are here not to worship the known but to question it”

 -Jacob Bronowski 


Current Courses: 

(Fall 2018)


EE 306 : Introduction to Computing
- Syllabus

Course Summary: This is the first course in computing for students of computer engineering, electrical engineering. The objective is to provide a strong foundation that a serious student can build on in later courses across the spectrum of computer science and engineering. The idea is that a more complete understanding of the fundamentals will help a student acquire a deeper understanding of more advanced topics, whether that topic is in computer architecture, operating systems, data base, net-works, algorithm design, software engineering, or whatever. The approach is "motivated" bottom-up. Starting with the transistor as a switch, we build logic gates, then more complex logic structures, then gated latches, culminating in an implementation of memory. From there, we study the computer's instruction cycle, and then a particular computer, the LC-3 (for Little Computer 3). The LC-3 captures the important structures of a modern computer, while keeping it simple enough to allow full understanding.
Class Times: MW 12:00-1:30pm

EE461S: Operating Systems - Syllabus

Course Summary: This is an introductory course on Operating Systems with focus on learning by doing. The format of the course is project driven, where each component of the operating system is covered in detail in the lectures and the student will implement the component in a real operating system. The fundamental topics covered are in four parts. (a)  Boot Process, Pro-cess and Thread Management with Scheduling, Concurrency and Synchronization. (b) Ad-dress Translation, Memory Management, Caching and Virtual Memory. (c) File Systems and I/O Management. (d) Advanced topics like, Virtual Machines, Networking and Security. 
Class Times:  MW 9:00-10:30am and TTh 12:30-2:00pm

MIS 284N: Big Data and Distributed Programming - Syllabus

Course Summary: This course covers a range of topics required for developing modern applications that operate over vast data sets that are potentially distributed in nature. The course covers a range of alternative technologies and architectures for working with big data, examining the pros and cons of the different approaches. The course also covers some unifying distributed programming fundamentals that are pervasive across the different technologies. New and emerging trends in Big Data, like Streaming-data anaysis, Data Lakes and Data Ops. Students will also get hands on experience through a series of small programming assignments exercising modern concepts and tools, Specifically, the assignments will use open source platforms like Apache Hadoop (MapReduce) and Apache Spark and Storm and a Cloud storage platform (e.g., Amazon AWS, Microsoft Azure, Oracle Bare Metal Cloud, or Google Cloud Platform). The programming projects will be in Python, which is fast emerging as preferred (67% adoption) language for data collection, mining and visualization of big data.

Class Times:  TTh 9:00-11:00am