Site announcements

There are no discussion topics yet in this forum

Available courses

This is a crash course in the deep learning. This course consists of five daily sessions. 


This course covers the introduction of embedded systems with microcontrollers and programmable logic devices. The architecture, programming, system development/simulation tools are introduced. Complete digital systems with different peripherals and data communication are designed, simulated and implemented. 

We will cover the AVR microcontroller for most part of the course. Specifically, Atmega328p (the microcontroller you can found the Arduino UNO boards) will be studied.

Who Should Attend This Course:

Undergrad students (5th semester and onwards) from the following disciplines can benefit from this course:

    • Mechatronics engineering
    • Electrical/electronics engineering 
    • Computer engineering
    • Computer science
    • Computer Science (Robotics)

Credit/Contact Hours:

  1. Theory (2 credit hours, 2 contact hours)
  2. Lab (2 credit hours, 6 contact hours)

The Course Learning Objectives (CLO) include:

  1. DESCRIBE AVR based microcontroller architecture, its internal registers, and instruction set (Learning domain: Cognitive, Level 2, PLO 1)
  2. PERFORM timer programming, serial port programming and interrupt programming both in C and assembly language (Learning domain: Cognitive, Level 3, PLO 1)
  3. DESIGN and IMPLEMENT embedded controller for a mechatronics systems (Learning domain: Psychometer, Level 5, PLO 2)

It meets the following Program Learning Objectives (PLO):

  1. Engineering Knowledge
  2. Design/Development of Solutions

Course Outline:

    • Introduction to Microprocessors and Microcontrollers
    • Architecture of a modern microcontroller
    • Software/firmware development tools, 
    • Programming languages; Assembly and C, Simulation tools like Proteus, 
    • Digital systems design using internal resources, external peripherals and devices, Implementation of data communication; RS-232, I2C, SPI etc. 
    • Introduction to embedded systems, 
    • Hardware architecture for embedded systems: Microcontrollers, Programmable logic devices like, Programmable array logic (PAL) and its variants, and Field Programmable Gate Arrays (FPGA) and its variants, 
    • Programming of embedded systems with Microcontroller and FPGA, Introduction to Verilog.

Labs include (offered in a separate course on this LMS):

Learn to read datasheets/manuals in order to develop practical applications. Assembly and C language based microcontroller (AVR) interfacing for interrupt and data based applications involving LED/ LCD, GPIO ports, communication ports, A/D, and D/A interfacing. Example project can be input voltage based speed control of DC Motor / stepper motor using PWM.

Teaching Methodology:

  1. Lecturing
  2. Written Assignments

Assessment (Theory):

  1. Assignments 
  2. Quizzes 
  3. Mid Term Exam
  4. Final Exam
Assessment (Lab): 

  1. Weekly lab reports 
  2. Viva voce 
  3. Project work

Text and Reference books: 

  1. Muhammad Ali Mazidi, Sarmad Naimi, and Sepehr Naimi, “The AVR Microcontroller and Embedded Systems: Using Assembly and C” published by Pearson Custom Electronics Technology
  2. Frank Vahid and Tony D. Givargis, “Embedded System Design: A Unified Hardware/Software Introduction”, John Wiley & Sons.
  3. Embedded System Design. Hardware/ Software System, by P. Marwedel, Latest edition
  4. FPGA prototyping by VHDL examples: Xilinx Spartan-3 version, By Pong P. Chu - Wiley-Interscience, Latest edition.
  5. Introduction to Embedded Systems - A Cyber-Physical Systems Approach, E. A. Lee and S. A. Seshia, Latest edition 
  6. Introduction to Embedded Systems: Using ANSI C and the Arduino Development Environment. By David Russel, Latest edition

This course covers class 9th Computer Science course of Khyber Pakhtunkhwa textbook board. This course covers the basic concepts of Computer Science for class 9th students.

Who should attend the course?

Students of Computer Science subject of class 9th in Pakistan in general and Khyber Pakhtunkhwa in particular should attend this course.

Course outline

The course covers basic concepts of:

  1. Fundamentals to Computers
  2. Fundamentals of Operating System
  3. Office Automation
  4. Data Communication
  5. Computer Networks
  6. Computer Ethics and Security

Teaching Methodology

The course is divided in 23 lectures that consists of Power Point Presentations and video lecture. At the end of each chapter there is a quiz for evaluation.

Course Language

The course contents are in English and video lectures are delivered in Urdu.