# Courses

“Someone who is exceptional in their role is not just a little better than someone who is pretty good. They are 100 times better.” [Mark Zukerberg] This is why, still today, one or two people can start a company that changes the face of the world forever (think Google, Apple, or Facebook). Work hard and you might become such a “100x” person as well. Failing that, work with such a person; you’ll learn more in a day than most learn in a month. Failing that, feel sad.

## Autumn 2024

ITT 303: Introduction to computer architecture, Language of Bits, Assembly Language, Instruction set Architecture, RISC-V, Basic Processor Design, Pipelining, Computer Arithmetic, and Memory.

# Microprocessor 8085 Lab

ITL302: GNUSim8085 simulator, Programs for microprocessor 8085, Using Microprocessor as a control system, Counters using microprocessor 8085.

## Spring 2024

ITT 250: Introduction, System calls and their implementation, Processes, Process Scheduling, Segmentation, Virtual memory, Threads, Concurrency, File System.

ITL 252: Learning to use linux OS and compiling the same, System call usage, Learning xv6 operating system, shell implementation

## Autumn 2023

ITT 303: Introduction to computer architecture, Language of Bits, Assembly Language, Instruction set Architecture, RISC-V, Basic Processor Design, Pipelining, Computer Arithmetic, and Memory.

PHD 14: Introduction to Machine learning, Supervised learning models: Linear regression and its variants, Probabilistic learning models, Logistic Regression, Softmax regression, Regularization, Generative models (GDA), Naive Bayes model, Support Vector Machines and kernels, Neural Networks, Backpropagation, CNNs, RNNs, Unsupervised learning and its learning models (K-means clustering), Reinforcement learning.

ITL302: GNUSim8085 simulator, Programs for microprocessor 8085, Using Microprocessor as a control system, Counters using microprocessor 8085.

## Spring 2023

ITT 250: Introduction, System calls and their implementation, Processes, Process Scheduling, Segmentation, Virtual memory, Threads, Concurrency, File System.

ITL 252: Learning to use linux OS and compiling the same, System call usage, Learning xv6 operating system, shell implementation

PHD 14: Introduction to Machine learning, Supervised learning models: Linear regression and its variants, Probabilistic learning models, Logistic Regression, Softmax regression, Regularization, Generative models (GDA), Naive Bayes model, NonSupport Vector Machines and kernels, Neural Networks, Backpropagation, CNNs, RNNs, Unsupervised learning and its learning models (K-means clustering), Reinforcement learning.

## Autumn 2022

ITT 303: Introduction to computer architecture, Language of Bits, Assembly Language, Instruction set Architecture, RISC-V, Basic Processor Design, Pipelining, Computer Arithmetic, and Memory.

PHD 14: Introduction to Machine learning, Supervised learning models: Linear regression and its variants, Probabilistic learning models, Logistic Regression, Softmax regression, Regularization, Generative models (GDA), Naive Bayes model, Support Vector Machines and kernels, Neural Networks, Backpropagation, CNNs, RNNs, Unsupervised learning and its learning models (K-means clustering), Reinforcement learning.

## Spring 2022

ITT 250: Introduction, System calls and their implementation, Processes, Process Scheduling, Segmentation, Virtual memory, Threads, Concurrency, File System.

ITL 252: Learning to use linux OS and compiling the same, System call usage, Learning xv6 operating system, shell implementation

PHD 14: Introduction to Machine learning, Supervised learning models: Linear regression and its variants, Probabilistic learning models, Logistic Regression, Softmax regression, Regularization, Generative models (GDA), Naive Bayes model, Support Vector Machines and kernels, Neural Networks, Backpropagation, CNNs, RNNs, Unsupervised learning and its learning models (K-means clustering), Reinforcement learning.

## Autumn 2021

IT 501: Introduction to computer architecture, Language of Bits, Assembly Language, Instruction set Architecture, RISC-V, Basic Processor Design, Pipelining, Computer Arithmetic, and Memory.

IT 507: General introduction to microprocessors, Instruction set architecture, 8085 programming, Memory and I/O interfacing, Interrupts, and microprocessor applications.

IT 508: GNUSim8085 simulator, Programs for microprocessor 8085, Using Microprocessor as a control system, Counters using microprocessor 8085.

## Spring 2021

IT E20: Introduction to computation, Mathematical Preliminaries, Languages, Grammars, Finite State Automata, Push Down Automata, Context-Free Grammars, Turing Machines, Enumerability, Decidability, and Complexity theory.

IT E19: Introduction to distributed systems, Goals and Issues of the Distributed systems, Failures in Distributed systems, Synchronization mechanisms, Physical and Logical Clocks, Mutual exclusion and election algorithms, Distributed system security.

# Previously Taught

## Autumn 2020

Spring 2020

Autumn 2019

Spring 2019

Autumn 2018

Spring 2018

Autumn 2017

Spring 2017