Instructor Profile:
Associate Professor, Sandip University, Nashik, Maharashtra
Dr. Omkar Pattnaik is an accomplished academic and researcher in the field of Computer Science and Engineering, with nearly two decades of extensive teaching experience across various universities and colleges. He earned his Bachelor of Technology (B.Tech) and Master of Technology (M.Tech) degrees from Biju Pattnaik University of Technology in Odisha, followed by a Ph.D. from Siksha “O” Anusandhan University, also in Odisha.
Currently serving as an Associate Professor at Sandip University in Nashik, Maharashtra, Dr.Pattnaik has demonstrated a profound commitment to education and research. He has an impressive portfolio of publications in both national and international journals, along with notable contributions to the intellectual property landscape, holding four Indian patents and one international design patent. His expertise in emerging technologies is further reflected in the books he has authored on blockchain, cryptography, and cryptocurrency, published by renowned international publishers.
Dr.Pattnaik’s research interests encompass Mobile Ad hoc Networks (MANET), Vehicular Ad hoc Networks (VANET), and security, with a current focus on the integration of Machine Learning (ML) and the Internet of Things (IoT) in various domains. His innovative work in these areas is recognized for addressing critical security challenges and enhancing technological applications.
In recognition of his exemplary contributions to education, Dr.Pattnaik received the SIET Dhenkanal Odisha Best Faculty Award in 2015 and the Elite Teacher Award from the I2OR organization in 2021, awarded during his tenure at Brainware University in Kolkata. His commitment to academic excellence is complemented by numerous administrative roles he has held throughout his career, as well as his active participation as a reviewer, co-editor, and author in the research community.
Dr.Pattnaik’s rich experience and expertise make him a valuable asset in the field of computer science, particularly in developing Massive Open Online Courses (MOOCs) aimed at advancing knowledge and skills in cutting-edge technological domains.
Course Outline: 80386DX – Basics Programming Model and Application Instruction Set
Module 1: Introduction to the 80386DX Architecture
- Overview of the 80386DX Microprocessor: Historical context and evolution of microprocessors, Architectural features of the 80386DX, Comparison with previous Intel microprocessors
- Registers and Data Types: General-purpose registers, Segment registers and their functions, Special-purpose registers (EIP, EFLAGS, etc.), Data types supported by the 80386DX
Module 2: Memory Management and Addressing Modes
- Memory Addressing Techniques: Physical vs. virtual memory, Segmentation and paging mechanisms, Addressing modes: direct, indirect, indexed, and relative
- Memory Models in 80386DX: Real mode and protected mode operation, Understanding descriptor tables and segment selectors, Working with flat memory model vs. segmented memory model
Module 3: Instruction Set and Assembly Language Programming
- Introduction to the Instruction Set: Categories of instructions: data movement, arithmetic, control, and logic instructions, Understanding opcode formats and instruction syntax
- Assembly Language Programming: Writing and assembling simple programs, Debugging and optimization techniques, Use of macros and procedures in assembly language, Interfacing assembly with high-level languages (e.g., C)
Module 4: Application Development and Advanced Features
- Developing Applications for the 80386DX: Application development workflow, Handling interrupts and exceptions, Input/Output (I/O) operations in assembly language
- Advanced Features of the 80386DX: Support for multitasking and context switching, Utilizing advanced debugging tools, xploring real-world applications and case studies
This course outline provides a structured approach to understanding the 80386DX microprocessor’s programming model and instruction set, equipping students with the necessary skills to develop applications and deepen their knowledge of assembly language programming.