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