## Completed Courses

The goal of a student is not to conquer the subject, but to

live with it, and grow with his knowledge of it.

These courses are prescribed by the University of Calicut for a B.Tech
Degree in Information Technology^{1}.

- Engineering Mathematics I

Differential Calculus, Infinite Series, Matrices, Fourier Series and Harmonic Analysis - Engineering Mathematics II

Ordinary Differential Equations, Laplace Transforms, Vector Differential Calculus, Vector Integral Calculus - Engineering Physics (A)

Optics, Quantum Mechanics, Laser Physics, Semiconductor Physics - Engineering Chemistry (A)

Structure of Solids, Electro-chemistry, Corrosion, High Polymers and Lubricants - Humanities

English usage and Grammar, Technical Communication and Writing, Humanities in a Technological Age, History of Science and Technology - Engineering Graphics (A)

Orthographic, Isometric and Multiview Projections, Projections of Polyhedra and Solids of Revolution, Sections of Solids, Development of Surfaces of Solids, Machine Drawing - Engineering Mechanics (A)

Statics, Trusses, Virtual Work, Equilibrium, Dynamics - Computer Programming in C

Programming and Problem Solving, C Language, Intro to C++ - Basic Electrical Engineering

Network Theorems, Natural and Forced Response, Electromagnetism, DC and AC Machines - Civil and Mechanical Workshop
- Electrical and Electronics Workshop
- Engineering Mathematics III

Linear Algebra, Probability Distributions, Statistical Inference - Data Structures and Algorithms

Review of Data Types, Complexity of Algorithms, Linear & Non-linear Data Structures, Searching, Sorting - Discrete Computational Structures

Logic, Relational Structures, Group Theory, Rings and Fields - Basic Electronics Engineering

Electronic Components, Transistor Biasing, Amplifiers, Oscillators, Op-amps - Switching Theory and Logic Design

Boolean Algebra, K-Maps, Quine McClusky Algorithm, Combinational Logic, Fault Diagnosis and Tolerance, PLA, ROM, Multiplexers, Counters and Shift Registers, Sequential Circuits - Electric Circuits and Systems

Node & Mesh Analysis, Trees and Graphs, Polyphase Circuits, Bridge Circuits, Control Systems and Frequency Response - Programming Lab
- Electronics Lab
- Engineering Mathematics IV

Fourier Transforms, Probability Distributions, Jointly Distributed Random Variables and Markov Chains & Poisson Process - Systems Programming

System Software Machine Architecture, SIC, RISC, Assemblers, Loaders & Linkers, Macro Processors, Introduction to Operating Systems, Overview of UNIX - Signals and Communication Systems

Elementary Signals, Properties of System, Time Domain Description, Fourier Representation of Continuous/Discrete Time Signals, Laplace Transform, Z Transform, Amplitude Modulation, SSB Modulation, FM Systems - Programming Language Concepts

Programming Paradigms, Abstract Syntax Trees, Context Free Grammars, BNF, Semantics, Imperative Programming (Pascal, C), Object Oriented Programming (Java, C++, Smalltalk), Functional Programming (ML, Scheme), Logic Programming (Prolog), Concurrent Programming (Ada) - Computer Organization and Design

History, Metrics, SPEC95 Benchmark, MIPS, 80x86 Instructions, Constructing an ALU, Floating Point: Standards and Implementation, Processors: Simple and Multicycle Implementation, Pentium Pro implementation, Microprogramming, Memory, Caches, I/O Design, Buses, I/O Performance - Hardware Systems Design

Motherboards, Display Adapters, Drive Controllers, Parallel Interfaces and Printers, Serial Interfaces and Modems, Network Adapters, CMOS RAM, 8086/8088 Hardware Specification, 80386, 80486 and Pentium Processors, Microprocessor architecture and programming, Memory Interface, I/O Interface, Port Address Decoding, 8279 Interface, 8254 Timer Interface, 16550 UART Interface, ADC/DAC Interfaces, Interrupts, 8259A Programmable Interrupt Controller, 8237 DMA Controller, Bus Interfaces: ISA, EISA, VESA and PCI - Data Structures Lab
- Programming Environments Lab
- Software Engineering

Software Process, Requirements, System Models, Prototyping, Formal Specification, Software Design, Dependability, Verification and Validation, Testing, Project Management - Graph Theory and Combinatorics

Euler tours, Chinese Postman Problem, Platonic Bodies, Kuratowski's Theorem, Hamiltonian Graphs, Map Colouring, Trees, Minimal Spanning Trees, Shortest Path Algorithm, Max Flow Min Cut Theorem, Derangements, Permutations and Combinations, Generating Functions, Recurrence Relations - Information Theory and Coding

Entropy, Source Coding Theorem, Shannon Fano Coding, Huffman Coding, Lempel Ziv Coding, Syndrome and Error Detection, Cyclic Codes, Galois Fields, Vector Spaces, BCH Codes, Reed Solomon Codes, Convolutional Codes, Viterbi Decoding - Digital Data Communication

Data Communication Networks, Transmission Basics, Synchronization, Data Compression, Fascimile Compression, Protocol Basics, Error Control, Data Link Control Protocol - Operating Systems

Resources, Processes, Threads, Drivers, Process Management, Scheduling, Synchronization, Semaphores, Deadlock, Memory Management, Relocation, Virtual Memory, Segmentation, File Management, Protection and Security, Authentication and Authorization, Case Study of Unix Kernel and Microsoft Windows NT - Object Oriented Programming

OOP and Java Basics, Java API: Applets, Swing Programming, Clipboard, Printing, 2D/3D Graphics, Audio/Video, Animations, Beans, Naming and Directory Services, Java Management API, CORBA, RMI, Object Serialization and Javaspaces, Java IDL and ORB, JDBC, Servlets, JNI - Programming Paradigms Lab

C++, Java, Lisp - PC Hardware Lab

Assembly Language, ADC/DAC Interfacing, Stepper Motor Interfacing - Digital Signal Processing

Discrete time signals and systems, difference equations, Fourier transform, DFT, FFT, Design of digital filters, Realization of digital filters. - Database Management Systems

Database concept and architecture, File organization and storage, Hashing, B and B+ trees, Database design, SQL, Normal Forms, Transaction processing, Database security. - Data Modeling and Design

OO systems, UML, Connascence, Encumbrance, Class invariants, Case studies. - Computer Networks

Ethernet, Token ring, Token bus, Wireless LAN, FDDI, Fast ethernet, WAN, ISDN, Internetworking, IP and IPV6, Transport protocols, Encryption, TCP/IP application protocols. - Computer Architecture

Fundamentals, Instruction set architecture, Pipelining, Instruction level parallelism, Vector processing, Memory hierarchy design, I/O systems, Interconnection networks, Multiprocessors. - Distributed Systems

Distributed system concept and architectures, DCE, Concurrent processes and programming, Interprocess communication and co-ordination, Distributed process scheduling - Operating Systems and Database Lab
- Industrial Management
- Computer Graphics and Multimedia
- Cryptography and Network Security
- Internet Concepts and Technologies
- Advanced Topics in Database Systems
- Networks Lab
- Economics
- Mobile Communication Systems
- Digital Signal Compression
- Electronic Commerce
- Neural Networks and Fuzzy Logic
- Graphics and Multimedia Lab

Courses taken up for the current semester can be viewed from the AboutMe Page.

^{[1]} It's nice to know isn't it? Reading about the first few papers
might make you forget that the engineering branch chosen is
Information Technology.