Dae Cit
Dae Cit
Curriculum For
DAE in
Computer Information Technology
36ADCIT 2024R3
(Revised August- 2024)
CURRICULUM SECTION
ACADEMICS DEPARTMENT
96-H, GULBERG-II, LAHORE
Ph # 042-99263055-9, 99263064
gm.acad@tevta.gop.pk, manager.cur@tevta.gop.pk
1|Page
CURRICULUM
OF
DIPLOMA OF ASSOCIATE ENGINEER
IN
COMPUTER INFORMATION
TECHNOLOGY
(03-YEARS)
36ADCIT 2024R3
2|Page
Scheme of Studies DAE 1ST Year
Contact/ Credit
Sr. (Revised)
Code Name of Subject
No
T P C
1. GEN-111 Islamiat & Pak Studies 1 0 1
TTQ-111/
2.
Civic-111
Tarjumat-ul-Quran / Civics 1 0 1
3. Eng-112 English 2 0 2
4. Math-123 Applied Mathematics-I 3 0 3
5. Phy-132 Applied Physics 1 3 2
6. Ch-132 Applied Chemistry 1 3 2
7. CIT-101 Occupational Health Safety & Environment 1 0 1
8. CIT-103 Introduction to Computing & Application Software 1 6 3
9. CIT-124 Basic Electronics 2 6 4
10. CIT-114 Introduction to Computer Programming 2 6 4
11. CIT-141 Computer & Peripheral Maintenance 0 3 1
Total 15 27 24
3|Page
Scheme of Studies DAE 2nd Year
Contact/ Credit
Sr. (Revised)
Code Name of Subject
No
T P C
Total 16 24 24
4|Page
Scheme of Studies DAE 3rd Year
Contact/ Credit
Sr. (Revised)
Code Name of Subject
No
T P C
7. CIT-372 UI / UX Design 1 3 2
9. CIT-392 Project 0 6 2
Total 9 33 20
5|Page
GEN-111 Islamiat & Pak .Studies
6|Page
7|Page
8|Page
9|Page
10 | P a g e
11 | P a g e
12 | P a g e
TTQ 111/Civic111 TARJAMA TUL QURAN /
Civics
T P C
1 0 1
Total Contact Hours:
Theory: 32
Practical: 0
13 | P a g e
Eng-112 English
Total Contact Hours
Theory 64 T P C
Practical 0 2 0 2
Students will be equipped with cognitive skill to enable them to present facts in a systematic and logical
manner to meet the language demands of dynamic field of commerce and industry for functional day-to-
day use and will inculcate skills of reading, writing and comprehension.
COURSE OUTLINE
Contents Hours
1. PROSE/TEXT 16 Hrs
1.1. First eight essays of Intermediate English Book-II
3. GRAMMAR 26 Hrs
3.1. Sentence Structure.
3.2. Tenses.
3.3. Parts of speech.
3.4. Punctuation.
3.5. Change of Narration.
3.6. One word for several
3.7. Words often confused
4. COMPOSITION 08 Hrs
4.1. Letters/Messages
4.2. Job application letter
4.3. For character certificate/for grant of scholarship
4.4. Telegrams, Cablegrams and Radiograms, Telexes, Facsimiles
14 | P a g e
4.5. Essay writing
4.6. Technical Education, Science and Our life, Computers, Environmental Pollution,
Duties of a Student.
5. TRANSLATION 10 Hrs
5.1. Translation from Urdu into English.
5.2. For Foreign Students: A paragraph or a dialogue.
RECOMMENDED BOOKS
15 | P a g e
INSTRUCTIONAL OBJECTIVES
PAPER-A
PAPER-B
16 | P a g e
Math-123 Applied Mathematics-I
Total Contact Hours
Theory 96 T P C
Practical 0 3 0 3
COURSE OUTLINE
Contents Hours
17 | P a g e
4. FUNDAMENTALS OF TRIGONOMETRY 06 Hrs
4.1. Angles
4.2. Quadrants
4.3. Measurements of Angles
4.4. Relation between Sexagesimal & circular system
4.5. Relation between Length of a Circular Arc & the Radian Measure of its central Angle
4.6. Problems
18 | P a g e
8.10. Algebraic Operations
8.11. Problems
19 | P a g e
RECOMMENDED BOOKS
1. Ghulam Yasin Minhas, Technical Mathematics Vol I, Ilmi Kitab Khana, Lahore
2. Riaz Ali Khan, Polytechnic Mathematics Series Vol- I and Vol -II, Majeed Sons, Faisalabad.
3. Sana Ullah Bhatti, A Text Book of Algebra and Trigonometry, Punjab Text Book Board,
Lahore
4. Sana Ullah Bhatti, A Text Book of Analytic Geometry and Calculus, Punjab Text Book
Board,
20 | P a g e
INSTRUCTIONAL OBJECTIVES
21 | P a g e
5. UNDERSTAND BASIC CONCEPTS AND PRINCIPLES OF TRIGONOMETRIC
FUNCTIONS.
5.1 Define the basic trigonometric functions/ratios of an angle as ratios of the sides of a right
triangle.
5.2 Derive fundamental identities.
5.3 Find trigonometric ratios of particular angles.
5.4 Draw the graph of trigonometric functions.
5.5 Solve problems involving trigonometric functions.
22 | P a g e
10. SOLVE TECHNICAL PROBLEMS USING PRINCIPLES OF BOOLEAN ALGEBRA
10.1 Explain fundamental concepts of Boolean algebra
10.2 Explain binary numbers, octal numbers, decimal numbers and their inter conversion.
10.3 Explain digital addition and multiplication and its applications to OR gates and AND
Gates
10.4 Illustrate complementation and inversion
10.5 Evaluate logical expression
10.6 List basic Laws of Boolean Algebra
10.7 Explain De-Morgan's theorem
10.8 Explain basic duality of Boolean algebra
10.9 Derive Boolean expression
10.10 Explain combination of GATES
10.11 Illustrate sum of products and product of sum
10.12 Derive product of sum expression
10.13 Explain NAND Gates and NOR Gates
10.14 Use the map methods for simplifying expressions
10.15 Explain sub-cubes and covering
23 | P a g e
Phy-132 Applied Physics
Total Contact Hours
Theory 32 T P C
Practical 96 1 3 2
The students will be able to understand the fundamental principles and concept of Physics use these to
solve problems in practical situations/technological courses and understand concepts to learn advance
Physics/technical course.
COURSE OUTLINE
Contents Hours
1. Measurements 02 Hrs
1.1. Fundamental units and derived units
1.2. Systems of measurement and S.I. units
1.3. Concept of dimensions, dimensional formula
1.4. Conversion from one system to another
1.5. Significant figures
2. Scalars and Vectors 03 Hrs
2.1. Revision of head to tail rule
2.2. Laws of parallelogram, triangle and polygon of forces
2.3. Resolution of a vectors by rectangular components
2.4. Multiplication of two vectors, dot product and cross product
3. Motion 04 Hrs
3.1. Review of laws and equations of motion
3.2. Law of conservation of momentum
3.3. Angular motion
3.4. Relation between linear and angular motion
3.5. Centripetal acceleration and force
3.6. Equations of angular motion
4. Torque, Equilibrium and rotational inertia 04 Hrs
4.1. Torque
4.2. Centre of gravity and centre of mass
4.3. Equilibrium and its conditions
4.4. Torque and angular acceleration
4.5. Rotational inertia
5. Sound 05 Hrs
5.1. Longitudinal waves
5.2. Intensity, loudness, pitch and quality of sound
5.3. Units of intensity of level and frequency response of ear
5.4. Interference of sound waves silence zones, beats
24 | P a g e
5.5. Acoustics
5.6. Doppler effect
6. Light 05 Hrs
6.1. Review laws of reflection and refraction
6.2. Image formation by mirrors and lenses
6.3. Optical instruments
6.4. Waves theory of light
6.5. Interference, diffraction, polarization of light waves
6.6. Applications of polarization in sunglasses, optical activity and stress analysis
7. Optical Fiber 02 Hrs
7.1. Optical communication and problems
7.2. Review total internal reflection and critical angle
7.3. Structure of optical fiber
7.4. Fiber material and manufacture
7.5. Optical fiber – uses
8. Lasers 03 Hrs
8.1. Corpuscular theory of light
8.2. Emission and absorption of light
8.3. Stimulated absorption and emission of light
8.4. Laser principles
8.5. Structure and working of lasers
8.6. Types of lasers with brief description
8.7. Applications (Basic concepts)
8.8. Material processing
8.9. Laser welding
8.10. Laser assisted machining
8.11. Micro machining
8.12. Drilling, scribing and marking
8.13. Printing
8.14. Lasers in medicine
9. Electromagnetic waves 02 Hrs
9.1. Magnetic field around a current carrying conductor
9.2. Electric field induced around an changing magnetic flux
9.3. Moving fields
9.4. Types of electromagnetic waves
9.5. Generation of Radio waves
9.6. Spectrum of electromagnetic waves
10. Artificial Satellites 02 Hrs
10.1. Review law of gravitation
10.2. Escape velocity
10.3. Orbital velocity
10.4. Geosynchronous and geostationary satellites
10.5. Use of satellites in data communication
25 | P a g e
RECOMMENDED BOOKS
26 | P a g e
INSTRUCTIONAL OBJECTIVES
27 | P a g e
8.2 Explain its principles of working.
8.3 Describe use of optical fiber in industry and medicine.
9. Understand the structure, working and uses of lasers
9.1 Explain the stimulated emission of radiation.
9.2 Explain the laser principle.
9.3 Describe the structure and working of lasers.
9.4 Distinguish between types of laser.
9.5 Describe the applications of lasers in the fields mentioned in the courses contents.
10. Understand nature, types, generation and spectrum of electromagnetic waves
10.1 Explain magnetic field due to current and electric field due to changing magnetic flux.
10.2 Explain moving fields.
10.3 Describe types of electromagnetic waves.
10.4 Explain generation of radio waves
10.5 Explain spectrum of electromagnetic waves.
11. Understand types and uses of artificial satellites
11.1 Explain escape velocity.
11.2 Explain orbital velocity.
11.3 Distinguish between geosynchronous and geostationary satellites.
11.4 Describe uses of artificial satellites in data communication.
28 | P a g e
List of Practicals: Applied Physics
1. Draw graphs representing the functions:
1.1. Y=mx for m=0, 0.5, 1,2
1.2. Y=x²
1.3. Y=1/x
2. Find the volume of a given solid cylinder using Vernier calipers.
3. Find the area of cross-section of the given wire using micrometer screw gauge.
4. Proven that force is directly proportional to (a) mass, (b) acceleration, using Fletcher’s trolley.
5. Verify law of parallelogram of forces using Grave-sands apparatus.
6. Verify law of triangle of forces and Lami’s theorem.
7. Determine the weight of a given body using:
7.1. Law of parallelogram of forces.
7.2. Law of triangle of forces.
7.3. Lami’s theorem.
8. Verify law op polygon of forces using grave-sands apparatus.
9. Locate the position and magnitude of resultant of like parallel forces.
10. Determine the resultant of two unlike parallel forces.
11. Find the weight of a given body using principle of moments.
12. Locate the centre of gravity of regular and irregular shaped bodies.
13. Find Young’s Modules of Elasticity of a metallic wire.
14. Verify Hooke’s Law using helical spring.
15. Study of frequency of stretched string with length.
16. Study of variation of frequency of stretched string with tension.
17. Study resonance of air column in resonance tube and find velocity of sound.
18. Find the frequency of the given tuning fork using resonance tube.
19. Find velocity of sound in rod by Kundt’s tube.
20. Verify rectilinear propagation of light and study shadow formation.
21. Study effect of rotation of plane mirror on reflection.
22. Compare the refractive indices of given glass slabs.
23. Find focal length of concave mirror by locating centre of curvature.
24. Find focal length of concave mirror by object and image method.
25. Find focal length of concave mirror with converging lens.
26. Find refractive index of glass by apparent depth.
27. Find refractive index of glass by spectrometer.
28. Find focal length of converging lens by plan mirror.
29. Find focal length of converging lens by displacement method.
30. Find focal length of diverging lenses using converging lens.
31. Find focal length of diverging lens using concave mirror.
32. Find angular magnification of an astronomical telescope.
33. Find angular magnification of a simple microscope (magnifying glass).
34. Find angular magnification of a compound microscope.
35. Study working and structure of camera.
36. Study working and structure of sextant.
37. Compare the different scales of temperature and verify the conversion formula.
29 | P a g e
38. Determine the specific heat of leas shots.
39. Find the coefficient of linear expansion of a metallic rod.
40. Find the heat of fusion of ice.
41. Find the heat of vaporization.
42. Determine relative humidity using hygrometer.
30 | P a g e
Ch-132 Applied Chemistry
Total Contact Hours
Theory 32 T P C
Practical 96 1 3 2
Understand the significance and role of chemistry in the development of modern technology.
Becomes acquainted with the basic principles of chemistry as applied in the study of relevant
Technology.
Knows the scientific methods for production, properties and use of materials of industrial &
technological significance.
Gain skill for the efficient conduct of practical’s in a chemistry lab.
COURSE OUTLINE
Contents Hours
1. INTRODUCTION 02 Hrs
1.1 The scope and significance of the subject.
1.2 Orientation with reference to Technology.
1.3 Terms used & units of measurements in the study of chemistry.
31 | P a g e
5.3 Solids and their general properties.
5.4 Crystal structure of solids
5.5 Crystals of Si and Ge.
6. WATER 03 Hrs
6.1 Chemical nature and properties.
6.2 Impurities.
6.3 Hardness of water (types, causes & removal)
6.4 Scales of measuring hardness (Degress Clark, French, PPM, Mgm per litre).
6.5 Boiler feed water, scales and treatment.
6.6 Sea-water desalination, sewage treatment.
32 | P a g e
12.3 Faraday's Laws and numerical related to them.
12.4 Application of Electrolysis (Electron, lathing etc).
12.5 Electro Chemical cells.
RECOMMENDED BOOKS
33 | P a g e
INSTRUCTIONAL OBJECTIVES
34 | P a g e
6. UNDERSTAND THE CHEMICAL NATURE OF WATER.
6.1 Describe the chemical nature of water with its formula.
6.2 Describe the general impurities present in water.
6.3 Explain the causes and methods to remove hardness of water.
6.4 Express hardness in different units like mg/litre. p.p.m, degrees Clark and degrees
French.
6.5 Describe the formation and nature of scales in boiler feed water.
6.6 Explain the method for the treatment of scales.
6.7 Explain the sewage treatment and desalination of sea water.
35 | P a g e
11.3 State the causes of corrosion.
11.4 Explain the process of rusting of iron.
11.5 Describe methods to prevent/control corrosion.
36 | P a g e
CIT-101 Occupational Health, Safety & Environment
Total Contact Hours
Theory 32 T P C
Practical 0 1 0 1
This introductory course on computer-related health and safety in the IT industry aims to instill a strong
safety mindset in students. It covers the various causes of safety hazards in IT workplaces, helping
students identify and understand these risks. The course emphasizes the importance of maintaining a
safe work environment and teaches theoretical principles of health and safety specific to the IT
industry.
Recognize Health and Safety Issues in IT: Learn about health and safety problems in IT
workplaces and with computers and smart devices.
Apply Environmental Protection Concepts: Understand and use ideas to protect the environment
while working with computers.
Practice Safety Measures: Follow safety steps to protect physical, mental health of individual and
group in computer labs and workplaces.
Incorporate Health and Safety in Daily Life: Develop habits for maintaining mental and physical
health and safety every day, while using computers or working in information technology
environment.
COURSE OUTLINE
Contents Hours
37 | P a g e
2.2. Wrist, Elbow & Hand, Arm, Shoulder Issues
2.2.1. Repetitive strain injury, carpal tunnel syndrome, symptoms of overuse injuries
2.2.2. Occupational overuse syndrome, work-related upper limb disorder (WRULD)
2.3. Backbone & Neck Issues
2.3.1. Lower back pain or neck pain due to poor workstation design, bad chair, poor posture,
sitting for long periods
2.4. Legs and Feet Issues
2.4.1. Increased risk of blood clots from sitting without stretching legs
2.5. Hearing Issues
2.5.1. Hearing loss from high volume headphone use
2.6. Mental Health Issues
2.6.1. Nervous breakdowns, photosensitive epileptic seizures, sleep disorders from late-night
device use
2.7. Social Health Issues
2.7.1. Stress disorders, behavioral problems, loneliness, depression, anxiety, aggression, low
social relationships, obsessive-compulsive disorder (OCD)
2.8. Lifestyle Diseases
2.8.1. Obesity, constipation, digestion issues, diabetes, hypertension, cardiovascular issues
from long sittings and sedentary lifestyle
2.8.2. Solutions: reduce junk and processed diet, soda, caffeine, use green and leafy
vegetables, fruits, dairy and protein, eating and sleeping time according to circadian
rhythm, daily exercise and social interaction, meditation and prayers
3. Introduction to OHS in Information Technology 04 Hrs
3.1. OHS in IT
3.1.1. Understanding OHS regulations and legislation in the IT industry
3.1.2. Identifying potential workplace hazards and risks in IT environments
3.2. Ergonomics and Workplace Design
3.2.1. Ergonomic principles and best practices in IT workstations
3.2.2. Assessing and mitigating ergonomic risks in IT work environments
3.2.3. Designing and maintaining a safe and comfortable IT workplace
3.3. Electrical Safety and IT Equipment
3.3.1. Electrical hazards in IT environments
3.3.2. Safe use and maintenance of IT equipment and tools
3.3.3. Proper handling and storage of batteries and other power sources
3.4. Emergencies and IT Incidents
3.4.1. Preparing for and responding to emergencies in IT workplaces
3.4.2. IT incident response and management
3.4.3. IT security and data protection during emergencies
4. OHS Considerations While Working Online 06 Hrs
4.1. Introduction to OHS for Remote Workers
4.1.1. Understanding OHS for remote workers
4.1.2. Regulations and legislation for remote work
4.1.3. Identifying potential workplace hazards and risks while working online
4.2. Ergonomics and Workstation Setup for Remote Work
38 | P a g e
4.2.1. Ergonomic principles and best practices for remote workstations
4.2.2. Assessing and mitigating ergonomic risks in remote work environments
4.2.3. Designing and maintaining a safe and comfortable remote work environment
4.3. Cyber Security and Information Security for Remote Work
4.3.1. Understanding cyber security risks and threats for remote workers
4.3.2. Strategies for protecting sensitive personal and organizational information
4.3.3. Best practices for secure remote access and online communication
4.3.4. Reporting individual cyber security issues to local and online organizations
4.4. Work-Life Balance and Mental Health in Remote Work
4.4.1. Maintaining a healthy work-life balance while working remotely
4.4.2. Strategies for preventing burnout and promoting mental health and well-being
4.4.3. Communicating effectively with colleagues and supervisors while working remotely
4.5. Emergency Preparedness
4.5.1. Incident management for remote work
4.5.2. Preparing for and responding to emergencies in remote work environments
4.5.3. Incident response and management in remote work environments
4.5.4. Cyber security and data protection during emergencies while working online
5. Workstation/Workshop Designing 06 Hrs
5.1. Setting Up a Computer Lab
5.1.1. Considerations for sunlight, artificial lighting, fresh air, ventilation, social interaction,
gender-based harassment, noise, heat, radiation
5.2. Workshop Layout Preparation
5.2.1. Designing a suitable workshop layout based on lab space and equipment ratio
5.3. Workstation Setup
5.3.1. Minimum working space for individuals and teams
5.4. Routine Cleaning and Maintenance
5.4.1. Designing and following SOPs and checklists for cleaning and maintenance
5.5. Precaution Measures
5.5.1. Noise, heat, electrostatic discharge precautions, reporting, and correction procedures
5.6. Working Posture and Sitting Position
5.6.1. Correct posture and sitting positions concerning table, chair, keyboard, and display
RECOMMENDED BOOKS
1. Safety Practices and Procedures by National Institute of Science and Technical Education (NISTE),
Islamabad.
2. "Health and Safety in a Changing World" by Robert Dingwall, Sidney Stark, and Kirstie Ball,
2021, Routledge, ISBN: 9780367350152
3. "Ergonomics for Beginners: A Quick Reference Guide" by Jan Dul and Bernard Weerdmeester,
2019, CRC Press, ISBN: 9780367350138
4. "Digital Minimalism: Choosing a Focused Life in a Noisy World" by Cal Newport, 2019,
Publisher: Portfolio, ISBN: 9780525536512
39 | P a g e
INSTRUCTIONAL OBJECTIVE
40 | P a g e
3. Introduction to OHS in Information Technology
3.1. OHS in IT
3.1.1. Understand OHS regulations and legislation in the IT industry.
3.1.2. Identify potential workplace hazards and risks in IT environments.
3.2. Ergonomics and Workplace Design
3.2.1. Explain ergonomic principles and best practices in IT workstations.
3.2.2. Assess and mitigate ergonomic risks in IT work environments.
3.2.3. Design and maintain a safe and comfortable IT workplace.
3.3. Electrical Safety and IT Equipment
3.3.1. Identify electrical hazards in IT environments.
3.3.2. Practice safe use and maintenance of IT equipment and tools.
3.3.3. Properly handle and store batteries and other power sources.
3.4. Emergencies and IT Incidents
3.4.1. Prepare for and respond to emergencies in IT workplaces.
3.4.2. Implement IT incident response and management.
3.4.3. Ensure IT security and data protection during emergencies.
4. OHS Considerations While Working Online
4.1. Introduction to OHS for Remote Workers
4.1.1. Understand OHS for remote workers.
4.1.2. Explain regulations and legislation for remote work.
4.1.3. Identify potential workplace hazards and risks while working online.
4.2. Ergonomics and Workstation Setup for Remote Work
4.2.1. Apply ergonomic principles and best practices for remote workstations.
4.2.2. Assess and mitigate ergonomic risks in remote work environments.
4.2.3. Design and maintain a safe and comfortable remote work environment.
4.3. Cyber Security and Information Security for Remote Work
4.3.1. Understand cyber security risks and threats for remote workers.
4.3.2. Implement strategies for protecting sensitive personal and organizational
information.
4.3.3. Apply best practices for secure remote access and online communication.
4.3.4. Report individual cyber security issues to local and online organizations.
4.4. Work-Life Balance and Mental Health in Remote Work
4.4.1. Maintain a healthy work-life balance while working remotely.
4.4.2. Implement strategies for preventing burnout and promoting mental health and
well-being.
4.4.3. Communicate effectively with colleagues and supervisors while working
remotely.
4.5. Emergency Preparedness
4.5.1. Manage incidents for remote work.
4.5.2. Prepare for and respond to emergencies in remote work environments.
4.5.3. Implement incident response and management in remote work environments.
41 | P a g e
4.5.4. Ensure cyber security and data protection during emergencies while working
online.
5. Workstation/Workshop Designing
5.1. Setting Up a Computer Lab
5.1.1. Consider sunlight, artificial lighting, fresh air, ventilation, social interaction,
gender-based harassment, noise, heat, and radiation.
5.2. Workshop Layout Preparation
5.2.1. Design a suitable workshop layout based on lab space and equipment ratio.
5.3. Workstation Setup
5.3.1. Determine minimum working space for individuals and teams.
5.4. Routine Cleaning and Maintenance
5.4.1. Design and follow SOPs and checklists for cleaning and maintenance.
5.5. Precaution Measures
5.5.1. Implement noise, heat, electrostatic discharge precautions, reporting, and
correction procedures.
5.6. Working Posture and Sitting Position
5.6.1. Practice correct posture and sitting positions concerning table, chair,
keyboard, and display.
42 | P a g e
CIT-103 Introduction to Computing & Application Software
Total Contact Hours
Theory 32 T P C
Practical 192 1 6 3
An application-oriented course on the basic use of computers. It aims to provide the students with
hands-on experience of using the computer and its applications. The course covers the immediate
application of computers in business and daily use. Students will also learn basic internet, email, and
cloud usage.
COURSE OUTLINE
Contents Hours
1. Computers and its Components 07 Hrs
1.1. What is a computer?
1.2. Working of computer with Block diagram.
1.3. The System Unit and Motherboard
1.4. Central Processing Unit (CPU)
1.5. Memory & Storage Unit.
1.6. Ports and Expansion Slots
1.7. Personal Mobile Devices
2. Input, Output, and Storage 05 Hrs
2.1. Input and Output
2.2. Data Representation
2.3. Digital Images
2.4. Audio & Video
2.5. Storage Media and Devices
2.6. Storage File Systems and Management
2.7. Cloud Storage
3. Operating Systems 04 Hrs
3.1. Operating System Functions
3.2. Operating System Interfaces
3.3. Windows
3.4. Linux
3.5. Android
43 | P a g e
3.6. Macos And IOS
4. Application Software 03 Hrs
4.1. What Is Application Software?
4.2. Productivity Software
4.3. Graphics and Multimedia Software
4.4. Communication Software
4.5. Educational Software
4.6. Entertainment Software
4.7. Open-Source Software
4.8. Software Issues and Concerns
5. Database Management 03 Hrs
5.1. What Is a Database?
5.2. Database Organization
5.3. Database Management Systems
6. The Internet and World Wide Web 04 Hrs
6.1. What Is the Internet?
6.2. How the Internet Works
6.3. Internet Services
6.4. The World Wide Web
6.5. Web Browsing and Searching
6.6. Evaluating online information
6.7. E-Mail, Blogging, and Instant Messaging
6.8. Social Networking
7. Communications and Networks 04 Hrs
7.1. What Is a Computer Network
7.2. Benefits of a Computer Network
7.3. Network Fundamentals
7.4. Connecting to the Internet
7.5. Network Communication
7.6. Network Security
8. Privacy, Security, and Ethics 02 Hrs
8.1. Understanding common cybersecurity threats
8.2. Protecting personal information online
8.3. Recognizing phishing and scams
8.4. Ethical and Social Issues
RECOMMENDED BOOKS
● Discovering Computers Digital Technology, Data, and Devices The Shelly Cashman Series 2018
● Microsoft Office 6 in 1, Peter Aiken, and others, Que Corporation.
● Teach Yourself Windows in 24 Hrs, Perry G., Sams Publishing.
● MS Office Unleashed, Sams Publishing.
44 | P a g e
INSTRUCTIONAL OBJECTIVES
1. Computers and its Components
1.1. Explain What is a computer
1.2. Explain working of computer with Block diagram.
1.3. Explain the System Unit and Motherboard
1.4. Explain about Central Processing Unit (CPU)
1.5. Explain Memory & Storage Unit.
1.6. Explain Ports and Expansion Slots
1.7. Introduce Personal Mobile Devices
2. Input, Output, and Storage
2.1. Explain Input and Output
2.2. Explain Data Representation
2.3. Explain Digital Images
2.4. Explain Audio & Video
2.5. Explain Storage Media and Devices
2.6. Explain Storage File Systems and Management
2.7. Explain Cloud Storage
3. Operating Systems
3.1. Introduce Operating System Functions
3.2. Introduce Operating System Interfaces
3.3. Introduce Windows
3.4. Introduce Linux
3.5. Introduce Android
3.6. Introduce MacOS and iOS
4. Application Software
4.1. Explain What Is Application Software?
4.2. Explain Productivity Software
4.3. Explain Graphics and Multimedia Software
4.4. Explain Communication Software
4.5. Explain Educational Software
4.6. Explain Entertainment Software
4.7. Explain Open-Source Software
4.8. Explain Software Issues and Concerns
5. Database Management
5.1. Explain What Is a Database?
5.2. Explain Database Organization
5.3. Explain Database Management Systems
6. The Internet and World Wide Web
6.1. Explain What Is the Internet?
6.2. Explain How the Internet Works
6.3. Explain Internet Services
45 | P a g e
6.4. Explain The World Wide Web
6.5. Explain Web Browsing and Searching
6.6. Explain Evaluating online information
6.7. Explain E-Mail, Blogging, and Instant Messaging
6.8. Explain Social Networking
7. Communications and Networks
7.1. Explain What Is a Computer Network
7.2. Explain Benefits of a Computer Network
7.3. Explain Network Fundamentals
7.4. Explain Connecting to the Internet
7.5. Explain Network Communication
7.6. Explain Network Security
8. Privacy, Security, and Ethics
8.1. Explain Understanding common cybersecurity threats
8.2. Explain Protecting personal information online
8.3. Explain Recognizing phishing and scams
8.4. Explain Ethical and Social Issues
46 | P a g e
List of Practical’s
1. Introduction To Computer: End-User Point Of View
1.1. Basic Design of Computer
1.2. Hierarchy of Memory
1.3. External View of Computer
1.4. Input and Output Devices
1.5. Computer Software
2. Windows Operating System
2.1. Computer Bootstrap
2.2. Install operating system
2.3. Install peripheral devices
2.4. Install software application
2.5. Update/upgrade software application
2.6. Using and Customizing Desktop
2.7. File Management
2.8. Customizing Control Panel
2.9. Using scanning
2.10. Printer setup
3. Typing Master
3.1. Learning Keyboard
3.2. Skill improvement Paragraphs
3.3. Speed Paragraphs
3.4. Rules for typing Manuscript or Reports
4. MS Office (Word Processing)
4.1. Create and Manage Documents
4.2. Format Text, Paragraphs, and Sections
4.3. Create Tables and Lists
4.4. Apply References
4.5. Insert and Format Objects
4.6. Mail Merge
4.7. Document Views and Printing Documents
5. Urdu Word Processing (In-Page or MS Word)
5.1. Set keyboard preferences
5.2. Layout Page
5.3. Toggle between Languages
5.4. Insert Columns
5.5. Shortcuts
6. MS Office (Excel)
6.1. Create and manage worksheets and workbooks
6.2. Data Types
47 | P a g e
6.3. Entering and Editing Data
6.4. Data Manipulation
6.5. Create tables
6.6. Apply formulas and functions
6.7. Create charts and objects
6.8. Formatting Cells
6.9. Printing Worksheet
7. MS Office (PowerPoint)
7.1. Introduction to PowerPoint & its interface
7.2. Insert Slide
7.3. Design Slide
7.4. Entering and Editing Presentation Objects
7.5. Apply Transitions and Animations
7.6. Presentation Views
7.7. Themes
7.8. Using Printing Options
8. MS Office (MS Access)
8.1. Create and manage a database
8.2. Creating Database Tables
8.3. Setting Up Database Tables
8.4. Creating Queries for Tables
8.5. Creating Data Entry Forms for Tables
9. Internet, Cloud Storage & Electronic Mail
9.1. Using different search engines
9.2. Create and operate a Gmail account
9.3. Access Google Drive using a browser
9.4. Create a Google Doc
9.5. Create a Google Sheet
9.6. Create a Google Slide
9.7. Design a Google form to collect information about students
9.8. Search the Internet for fake news during the last 3 months and prepare a report
10. Graphics And Image
10.1. How to scan images using scanning software
10.2. Editing Picture
10.3. Saving Graphics
11. Video
11.1. Understanding Video software
11.2. How to Play Video (Any Format)
48 | P a g e
CIT- 124 Basic Electronics
Total Contact Hours
Theory 64 T P C
Practical 192 2 6 4
In our course, you will gain a thorough understanding of both qualitative and quantitative concepts in
electromagnetism, linear circuits, and basic electronics. We will explore the operating principles behind
various electrical and electronic devices and learn how to apply these principles to solve practical
technological problems. You will also see how electronic and electrical concepts integrate with other
fields of study. Our focus will include fundamental concepts and applications in analogue electronics,
particularly how transistors are used for amplification. By the end of the course, you should be able to
use your knowledge to effectively maintain and troubleshoot electronic devices.
COURSE OUTLINE
Contents Hours
49 | P a g e
3.3. Understand Kirchhoff’s’ Laws
3.4. Understand Resistors
3.5. Understand Batteries
4. AC Fundamentals. 09 Hrs
7.1. Transistors
7.2. Operational Amplifiers
7.3. Special Devices
7.4. Define Silicon Controlled Rectifier (SCR) and Simple SCR Applications.
7.5. Define Diac and Triac
7.6. Define Unijunction Transistor (UJT)
7.7. Define Photo diode & Phototransistor
7.8. Define Light Activated SCR (LASCR)
7.9. Define Opto-coupler.
RECOMMENDED BOOKS
1. Bird J O — Electrical and Electronic Principles and Technology, Second Edition (Newnes,
1. 2004) ISBN 0750665505
2. Bird J O — Electrical Circuit Theory and Technology (Newnes, 2004) ISBN 0750657847
3. Grob, Bernard, Basic Electronics, Eight Edition.
4. TL Floyd “Electronics Devices” 8th ed. Prentice Hall, ISBN 0131140809
5. Floyd "Digital Fundamentals"
50 | P a g e
INSTRUCTIONAL OBJECTIVES
51 | P a g e
2.2.8. Define Lenz's Law
2.3. Understand Electrostatics.
2.3.1. Describe principle of electrostatic charges
2.3.2. Explain the effect of negative & positive charges
2.3.3. Describe the laws of electrostatics
2.3.4. Describe electrostatic induction & field strength
2.3.5. Explain properties of electric lines of force
2.3.6. Comparison between electric lines of force and magnetic lines of force
2.3.7. Describe dielectric & dielectric strength/dielectric constant
2.3.8. Describe the importance of dielectric & dielectric strength
2.3.9. Describe capacitor and capacitance
2.3.10. Define breakdown voltage
2.3.11. Describe the capacitance of parallel plate capacitor
2.3.12. Describe types of capacitors and the use/applications of capacitors
2.3.13. Calculate the total capacitance in series in parallel and series-parallel combination
2.3.14. Explain the energy stored in capacitor
2.3.15. Describe the color coding, tolerance and voltage rating of capacitors
2.3.16. Describe the troubles/problems use of capacitors
3. DC FUNDAMENTALS.
52 | P a g e
3.5. Understand Batteries
3.5.1. Name types of D.C source
3.5.2. Describe types of cells (Mercury, Silver oxide, Nickel cadmium)
3.5.3. Describe lead acid battery
3.5.4. Describe solar cells
3.5.5. Explain the internal resistance of cell
3.5.6. Application of cell as constant voltage and constant current source.
4. AC Fundamentals.
53 | P a g e
5.1.4.1. Intrinsic semiconductor
5.1.4.2. Extrinsic semiconductor
5.2. PN Junction Theory:
5.2.1. Draw a PN Junction
5.2.2. Define the terms depletion layer capacitance & diffusion capacitance.
5.2.3. Sketch the voltage-current characteristics curve for a PN junction.
5.2.4. Describe RF, RR and Is from the diode characteristics curve.
5.2.5. List the typical values of barrier potentials for silicon and germanium diode.
5.3. Understand PN Diode Applications
5.3.1. List the uses of PN diode.
5.3.2. Explain half and full wave rectifier using circuit diagram.
5.3.3. Define Ripple factor, surge current.
5.3.4. Explain function of rectifier (L, PI, T) filters
5.3.5. Explain its uses as voltage multiplier (doubler).
5.3.6. Explain the working of a voltage doubler circuit.
5.3.7. List the applications of voltage multiplier circuit.
5.3.8. Explain the operation of a diode as a switch.
6. Understand Resonance, Filters & Coupling Circuits
7.1. Transistors
7.1.1. Define Transistor and its types
7.1.2. Describe Basic Transistor operation, Forward, Reverse Bias. Transistor current.
7.1.3. Transistor Parameters and Ratings
54 | P a g e
7.1.4. Transistor as a voltage amplifier.
7.1.5. Transistor, modes of operation.
7.1.6. Transistor as a switch.
7.1.7. Transistor Clipper
7.1.8. Describe Junction Field Effect Transistor (JFET).
7.1.9. Describe Metal oxide Semiconductor FET (MOSFET) types.
7.2. Operational Amplifiers
7.2.1. Define Operational Amplifier (OP-Amp)
7.2.2. Define the types of (OP-Amp)
7.2.2.1. The Non-inverting Voltage Amplifier
7.2.2.2. Inverting Voltage Amplifier
7.2.3. Inverting Current-to-Voltage Transducer
7.2.4. Non-inverting Voltage-to-Current Transducer
7.2.5. Inverting Current Amplifier
7.2.6. Summing Amplifiers
7.2.7. Non-Inverting Summing Amplifier
7.2.8. Differential Amplifier
7.2.9. (OP-Amp) as Adder/Subtractor
7.3. Special Devices
7.3.1. Define Zener Diodes.
7.3.1.1. Zener Diode as voltage Regulator, percentage of regulation.
7.3.1.2. Zanier limiting.
7.3.2. Define Optical Diodes
7.3.2.1. Light Emitting Diode (LED)
7.3.2.2. Liquid crystal Diode (LCD)
7.3.2.3. Photo diode.
7.3.2.4. LASER Diode.
7.3.3. Define Silicon Controlled Rectifier (SCR) and Simple SCR Applications.
7.3.4. Define Diac and Triac
7.3.5. Define Unijunction Transistor (UJT)
7.3.6. Define Photo diode & Phototransistor
7.3.7. Define Light Activated SCR (LASCR)
7.3.8. Define Opto-coupler.
55 | P a g e
LIST OF PRACTICAL
56 | P a g e
CIT-114 Introduction to Computer Programming
Total Contact Hours
Theory 64 T P C
Practical 192 2 6 4
A first course in programming. The first programming language is introduced and fundamental
programming skills are developed in the students during the course. This course also introduces basic
object-oriented concepts and allows students to practice them for effective software development. The
course is supported by a significant laboratory component to complement classroom discussions.
COURSE OUTLINE
Contents Hours
57 | P a g e
3.7. Compound Statements
3.8. Type Conversion in Assignments
3.9. Type Conversion in Expressions
3.10. Casts
3.11. Spacing and Parentheses
4. Program Control Statements 08 Hrs
4.1. The if Statement
4.2. The if-else Statement
4.3. The else-if Statement
4.4. The switch Statement
4.5. The for Loop
4.6. The while Loop
4.7. The do while Loop
4.8. Nested Loop
5. Arrays and Strings 08 Hrs
5.1. One-Dimensional Arrays
5.2. Two-Dimensional Arrays
5.3. Multidimensional Arrays
5.4. Strings
5.5. Arrays of Strings
5.6. Pointers
5.7. Pointers and Arrays
6. Functions 08 Hrs
6.1. The general form of a function
6.2. Creating functions
6.3. Using Arguments (pass by value and reference)
6.4. Using return
6.5. Using functions in expressions
6.6. Local Scope
6.7. Global Scope
6.8. Passing points and arrays to functions
6.9. Passing command line arguments to main()
6.10. Function Prototypes
6.11. Recursion
7. Classes and Objects 12 Hrs
7.1. The General Form of a Class
7.2. Defining a Class and Creating Objects
7.3. Adding Member Functions to a Class
7.4. Constructors and Destructors
7.5. Parameterized Constructors
7.6. Arrays of Objects
58 | P a g e
7.7. Initializing Object Arrays
7.8. Pointers to Objects
7.9. Inheritance Fundamentals
8. The C++ I/O System 06 Hrs
8.1. Understand I/O streams
8.2. Know the I/O class hierarchy
8.3. Format I/O by using ISO member functions
8.4. Format I/O by using manipulators
8.5. Open and close files
8.6. Read and write text files
8.7. Read and write binary files
8.8. Use random access files I/O
9. Software Design and Modularity 08 Hrs
9.1. Elements of a good software design
9.2. Decomposing larger problems into smaller problems
9.3. Importance of modularity
RECOMMENDED BOOKS
59 | P a g e
INSTRUCTIONAL OBJECTIVES
1. Introduction to Programming
1.1. Giving instructions to humans vs machines - Explain the difference in the type of
instructions that can be given to a human vs a machine e.g. Washing Machines (timers,
water level, etc.), Microwave (timers, heat level, etc.). Humans can process vague
instructions whereas machines need exact, precise, and step-by-step instructions for
performing a job. Example: Calculator is a complete computer. It has processor (the
arithmetic operations) to do its processing, it has one number memory (M+ and MRC),
input device (keyboard) and output device (LCD screen).
1.2. Programming Computers - Explain how computers are general-purpose “computing”
devices that can perform any type of “calculations”, and send and receive signals to
other devices (e.g. sensors, doors, other computers, lights, fans, cameras, etc.).
Computers require exact instructions specifying all the steps to execute them.
1.3. Programming Languages - Explain that we need programming languages for giving
instructions to the computers. They have exact grammar (syntax) like English.
1.4. Categories of Programming Languages – (Low and High Level ) Explain why high-
level languages were developed. Explain that large programs are complex and difficult
to understand. We need high-level languages to make them easy to understand.
Example: Assembly and C are low-level languages, show their sample programs. Java
and Python are high-level languages, show their sample programs.
60 | P a g e
3.8. Explain Type Conversion in Expressions
3.9. Explain Casts, explicit.
3.10. Explain how Parentheses affect precedence in expressions
6. Functions
6.1. Explain the general form of a function
6.2. Explain Creating functions
6.3. Explain Using Arguments (pass by value and reference)
6.4. Explain Using return
6.5. Explain Using functions in expressions
6.6. Explain Local Scope
6.7. Explain Global Scope
6.8. Explain Passing points and arrays to functions
6.9. Explain Passing command line arguments to main()
6.10. Explain Function Prototypes
6.11. Explain Recursion
61 | P a g e
7.8. Explain Pointers to Objects
7.9. Explain Inheritance Fundamentals
62 | P a g e
LIST OF PRACTICALS
1. Practical 1
● Introduce general look and feel of Visual studio Community Edition 2022, especially build
menu and Solution Explorer. Also practice Create Project of type “C++ Console App” using
“create new solution”.
● Repeat creating a new solution and project. And walk through following steps.
a. Delete the contents of cpp file. Type the following code into the cpp file of the project
created. Press “Build”>Build Solution to confirm if you typed it correctly.
----------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int main(){
cout << "Salaam Pakistan from the Programmer of CIT!\n";
return 0;
}
----------------------------------------------------------------------------------------------------------------------------
b. Run the program using “Debug”>”Start Debugging”. Notice the output.
c. What sense can you make out of each line. Write down after each line of the program
using single line comment style // to tell what do you think this does.
2. Practical 2
● Do the following
a. Type the program.
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream> b = 13
using namespace std; sum = a + b;
int main(){ cout << "The sum of "<<a<<" and "<<b<<"
int a; is: \n"<<sum<<"\n";
int b; return 0;
int sum; }
a = 10;
-----------------------------------------------------------------------------------------------------------------------------
b. Build the program. Remove any errors if you get.
c. Run the program. Observe its output. Understand what each line is doing.
d. Write description of each line, as you understand it, as comments using // on the right
side of each line.
e. Confirm if you wrote the comments correctly by building the program. Remove if you
receive any error.
f. Change values of a and b, and run the modified program to confirm if it still works.
63 | P a g e
3. Practical 3
● Do the following programming exercise.
a. Type and build the following program. Remove errors if any.
----------------------------------------------------------------------------------------------------------------------------
#include <iostream> average = a;
using namespace std; average = average + b;
int main(){ average = average / 2; //this is divide
int a; operator
int b; cout << "The sum is: \n"<<sum<<"\n";
int sum; cout << "The average is:\n";
float average; cout << average <<"\n";
a = 10; return 0;
b = 13; }
sum = a + b;
-----------------------------------------------------------------------------------------------------------------------------
--
b. Build the program. Remove any errors if you get.
c. Run the program. Observe its output. Understand what each line is doing.
d. Write description of each line, as you understand it, as comments using // on the right
side of each line.
e. Confirm if you wrote the comments correctly by building the program. Remove if you
receive any error.
f. Change values of a and b, such that the output of the program becomes the following:
----------------------------------------------------------------------------------------------------------------------------
The sum is: 58 The average is:29
-----------------------------------------------------------------------------------------------------------------------------
g. Change values of a and b, such that the output of the program becomes the following:
-----------------------------------------------------------------------------------------------------------------------------
The sum is: -8 The average is: -4
4. Practical 4
● Do the following programming exercise.
a. Type and build the following program that calculates the result of Tipu. Remove errors
if any.
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream> cout <<
using namespace std; "**********************************\n”;
int main(){ cout << “Total marks are "<<sum<<"\n";
int physics_marks = 70; cout << "The average marks are "<< average
int maths_marks = 55; <<"\n";
int sum = physics_marks + maths_marks; cout <<
float average = physics_marks; "**********************************\n”;
average = average + maths_marks; return 0;
average = average / 2; }
----------------------------------------------------------------------------------------------------------------------------
b. Without running the program, calculate what will be the output of this program.
c. Run the program and confirm if your calculation is correct.
d. Tipu has scored 80 marks in Urdu. Modify the program to include marks of Urdu.
64 | P a g e
e. Tipu studies at Central Model School Samanabad. Modify the program such that a
beautiful result card is printed on the screen. Hint: Add Tipu’s full name and school
name and city. You can also add borders.
5. Practical 5
● Do the following problems
a. Type the following program. Compile and remove errors. Run the program and write
down what it is doing using comments.
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int main(){ cout << “Tipu has scored
int islamiat_marks = 70; "<<percentage<<"% marks with divison = ";
int pakstudies_marks = 55; if ( percentage > 80 ) {
int computer_marks = 70; cout << “1st”;
int maths_marks = 55; }
int physics_marks = 70; if ( percentage <= 80 && percentage > 65 ) {
int chemisty_marks = 55; cout << “2nd”;
int Total = 100 * 6; }
int marks = chemisty_marks+ physics_marks if ( percentage <= 65 && percentage > 33 ) {
+ maths_marks; cout << “3rd”;
marks = marks + computer_marks + }
pakstudies_marks; if ( percentage <= 33 ) {
marks = marks + islamiat_marks; cout << “FAIL”;
float percentage = (float) marks / Total; }
cout << return 0;
"**********************************\n”; }
2 ≥80, <90 A
3 ≥72, <80 A-
4 ≥65, <72 B+
65 | P a g e
5 ≥58, <65 B
6 ≥51, <58 B-
7 ≥43, <51 C+
8 ≥38, <43 C
9 ≥30, <38 D
10 <30 FAIL
b. Using breakpoints run the program again. Add watch to all variables including Total
and islamiat_marks etc. Notice how each value changes at some point. Tell whether the
program runs each line as you expected.
c. Make 10 copies of the program file above. Modify marks of subjects in each copy, such
that each of the given grades in the table is shown by exactly one program. Use step by
step debugging to correct your logic if needed.
66 | P a g e
7. Practical 7
● Do the following
a. Type and build the following program.
----------------------------------------------------------------------------------------------------------------------------
#include <iostream> cin >> num2;
using namespace std; // Compare and print result
int main() { if (num1 > num2) {
int num1, num2; cout << "A is greater than B" << endl;
// Prompt user for input of A }
cout << "Enter integer A: "; if (num1 < num2) {
// Input a number from user and assign it to cout << "B is greater than A" << endl;
num1 variable }
cin >> num1; if (num1 == num2) {
// Prompt user for input of B cout << "A and B are equal" << endl;
cout << "Enter integer B: "; }
// Input a number from user and assign it to return 0;
num2 variable }
b. Read the program line by line and try to understand what this program is doing. Write
description.
c. Run the program and input numbers 457 and 90 to the program. Write down the output.
d. Provide different values for A and B and see how the output of the program changes.
e. Finally write down exactly three sets of input values, where each set produces a
different output. Run the program to check the output.
8. Practical 8
● Do the following
a. Change to the program that calculates student grades you created in one of your
previous labs. Change the logic as follows, the program should now take input from the
user for marks of different subjects and then display grade in a nice format.
b. Run the modified grading program several times with different values of marks and
observe that the grade is calculated correctly.
c. Run the program 10 times with different input values of marks such that each of the
given grades in the grade table is output exactly once. Write down those value sets for
each grade letter.
9. Practical 9
● Do the following
a. Type and build the following program
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std; // Loop from 1 to 20 using while loop
int main() { i = 1;
int num, i; while (i <= 20) {
// Prompt user for input cout << num << " x " << i << " = " << num *
cout << "Enter an integer: "; i << endl;
cin >> num; i++; // Increment counter inside the loop
// Print table header }
cout << "Multiplication Table of " << num << return 0;
endl; }
cout << "-------------------------" << endl;
67 | P a g e
b. Run the program with different inputs, understand it, and note down the results.
Especially note the effect of while. Use debugging breakpoints and watches to confirm
your understanding.
c. This program always prints the table up till 20. Modify the program such that it asks for
the table length e.g. 20, and then print the table till that number.
d. Bonus: Print a nicely formatted and beautiful table perfectly aligned from top to bottom
10. Practical 10
● Do the following
a. Type and build the following program
----------------------------------------------------------------------------------------------------------------------------
#include <iostream> if (tipuHeight > sultanHeight) {
using namespace std; cout << "Tipu is taller than Sultan." << endl;
int main() { } else if (tipuHeight < sultanHeight) {
float tipuHeight, sultanHeight; cout << "Sultan is taller than Tipu." << endl;
// Prompt user for input } else {
cout << "Enter Tipu's height: "; cout << "Tipu and Sultan have the same
cin >> tipuHeight; height." << endl;
cout << "Enter Sultan's height: "; }
cin >> sultanHeight; return 0;
// Compare heights }
----------------------------------------------------------------------------------------------------------------------------
b. Notice use of else. Notice how it reduces the code and still achieves the correct result.
c. Convert grading program such that it also uses else with every if. Confirm if the output
is still correct for different values.
d. Revise the program you coded in previous part as follows, check if the user inputs each
subject’s marks correctly. Each mark should be between 0 and 100, i.e. it cannot be
negative or greater than 100. If the input is incorrect, display “wrong input” message
and exit the program. Confirm if the working of your program is correct.
11. Practical 11
● Do the following
a. Write a program that takes an integer as input from the user and prints squares of all
integers from 1 to the input. For example if the user enters 5, the output will print
squares of all integers from 1 to 5 i.e. “1, 4, 9, 16, 25”.
b. Write a program that takes an integer as input and prints all the integers from 0 to the
input, for example if the input is 5 the output should be “0, 1, 2, 3, 4, 5”.
c. Write a program that takes an integer as input and prints all the integers from the input
to 0, for example if the input is 5 the output should be “5, 4, 3, 2, 1, 0”.
d. Write a program that takes an integer as input and prints from 0 to the number and then
back to 0. For example if the input is 5 the output should be “0, 1, 2, 3, 4, 5, 4, 3, 2, 1,
0”.
e. Write a program that takes an integer as input and prints all the integers from 100 to the
input. For example, if the user enters 45, the program prints integers from 100 to 45. If
the user enters 138, the program prints integers from 100 to 138. Test your program by
providing different inputs that are less than and greater than 100. What happens to the
program when you provide input 100?
68 | P a g e
12. Practical 12
● Finding limits of integer type variables
a. Write a program to input an integer and then output the number. Run it to confirm it
works. Now run it again but input 13762938754890274 number. See if it is working
correctly. If not, write your guess why not.
b. The following program finds out the maximum value an integer variable can hold.
----------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std; // Check for overflow using a comparison
with the previous value
int main() { if (num < prevNum) {
int num = 0; cout << "Overflow occurred at: " <<
int prevNum = 0; // Stores the previous value prevNum << endl;
of num break; // Exit the loop on overflow
}
// Loop to keep adding 1 until overflow }
while (true) {
prevNum = num; // Save the previous value return 0;
num++; // Add 1 to num }
----------------------------------------------------------------------------------------------------------------------------
c. Modify the program to find out the minimum value an integer can hold. Start with zero
and keep subtracting 1 from it. You also have to adjust the if condition within the loop.
d. Write a program to discover the maximum and minimum limits of unsigned int, long,
unsigned long, char, unsigned char in order.
13. Practical 13
● Conversion of data types *Type and build the following program
----------------------------------------------------------------------------------------------------------------------------
#include <iostream> lose info)
#include <limits> // for numeric_limits cout << " float to int: " << wholeNum2 << endl;
using namespace std; cout << " int to long: " << longNum2 << endl;
int main() { cout << " int to unsigned int: " << uintNum2 <<
// Variable declarations with initial values endl << endl;
float floatingNum = 3.14159;
float floatingNum2 = 3.14159; float floatNum2 = longNum; // long to float (may
int wholeNum = -321; lose precision)
int wholeNum2 = -321; int intNum2 = uintNum; // unsigned int to int (may
long longNum = 1234567890123; lose info)
long longNum2 = 1234567890123;
unsigned int uintNum = 4294967295; cout << " long to float: " << floatNum2 << endl;
unsigned int uintNum2 = 4294967295; cout << " unsigned int to int: " << intNum2 <<
cout << "Initial values:" << endl; endl << endl;
cout << " float: " << floatingNum << endl;
cout << " int: " << wholeNum << endl; // Largest possible values (system-dependent)
cout << " long: " << longNum << endl; cout << "\nMaximum values for integer types:" <<
cout << " unsigned int: " << uintNum << endl << endl;
endl; cout << " Max int: " <<
wholeNum2 = floatingNum; // float to int numeric_limits<int>::max() << endl;
(truncates) cout << " Max long: " <<
longNum2 = wholeNum; // int to long (no change) numeric_limits<long>::max() << endl;
uintNum2 = wholeNum; // int to unsigned int (may cout << " Max unsigned int: " <<
69 | P a g e
numeric_limits<unsigned int>::max() << endl; }
return 0;
------------------------- ----------------------------------------------------------------------------------------------------
a. Assign different values to the variables and see the effect of assigning them to variables
of other types. Notice how capacity of a variable effects the value that can be assigned
to it.
b. How many bytes int and long variables takes in memory? From the number of bytes
calculate the largest value an int and long can hold. Note that unsigned int has the same
size as int but the largest value it can hold is more than int. Calculate from the number
of bytes of unsigned int what will be the largest value it can hold.
c. Assign values to the variables in the program such that most of the conversions give
wrong output values.
14. Practical 14
● Do the following
a. Write a program that converts feet into meters. Remember meters could be in
fractions.
b. Write a program that prints a table of feet to meters (for 1 to N feet), where N is
taken as input from the user.
c. Chaddar Gump, goes everywhere on foot. His 1 step = 1.6 feet, if he takes
exactly 1100 steps to reach home from college, how many kilometers is his
home from college? Write a program for Gump to convert steps in kilometers so
that whenever he goes anywhere, he can find out how many kilometers he has
traveled.
15. Practical 15
● Write build and run the programs for solving the following problem
a. The water tank in your house is rectangular in feet 6,6,5 (length, width, height).
The water tank in your Chachu’s house is cylindrical in feet 3,10 (radius,
height). The flow rate of the water motor is used to fill the tank is 250 gallons
per minute
b. Note the following
i. Volume of Rectangular Tank: Volume = length * width * height
ii. Volume of Cylindrical Tank: Volume = pi * radius^2 * height
iii. 1 cubic foot = 7.48052 gallons
iv. Time to Fill Tank: Time = Volume (in gallons) / Flow rate (in
gallons/minute)
c. Your program should calculate the following
i. Volume of each water tank in cubic feet
ii. Volume of each tank in gallons
iii. Time to fill water tank in your house and in your chachu’s house.
iv. Which water tank takes less time to fill?
v. Match your results with other students
vi. Can the motors fill the water tanks in 6 minutes?
16. Practical 16
● Write build and run the programs for solving the following problem
a. You are building a house on a 5 Marla plot. The plot size is 25 x 45 feet. The
foundation has already been laid.
70 | P a g e
b. Now you have to construct a boundary wall around the plot. Before you can do that you
need to calculate the number of bricks required for constructing the boundary wall.
c. Following information is available to you
i. Brick size is 9x4x3 inches (length, width, height)
d. Calculate the number of bricks required for constructing the boundary wall which is 10
feet high.
e. Now modify the program to take as input the following and calculate the bricks
requirement
i. Plot dimensions
ii. Height of the boundary wall
iii. Brick dimensions
17. Practical 17
● Write build and run the programs for solving the following problem
a. Modify the bricks calculation program to calculate the following.
b. The brick suppliers supply in batches of 1000 bricks. How many batches will you
order?
c. The price of one batch is PKR 1700. Calculate the cost for constructing the boundary
wall.
d. For every 1000 bricks, you need 8 bags of cement. The price of one bag of cement is
PKR 1300. Calculate the total cost of constructing the boundary wall.
18. Practical 18
● Write build and run the programs for solving the following problem
a. Following two programs are doing the exact same thing. Understand these
programs and then map each statement of first program to a statement of the
second program.
Program 1
--------------------------------------------------------- Program 2
#include <iostream> ---------------------------------------------------------
using namespace std; ------------------------------------------------------
int main() { #include <iostream>
int number, sum = 0; using namespace std;
cout << "Enter a positive integer: "; int main() {
cin >> number; int number, sum = 0;
int count = 1; cout << "Enter a positive integer: ";
while (count <= number) { cin >> number;
sum += count; for (int count = 1; count <= number;
count++; count++) {
} sum += count;
cout << "Sum of first " << number << " }
integers is: "; cout << "Sum of first " << number << "
cout << sum << endl; integers is: ";
return 0; cout << sum << endl;
} return 0;
--------------------------------------------------------- }
--------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
b. Number Guessing Game: Develop a game where the user has to guess a
randomly generated number. Use int to store the number and implement logic to
71 | P a g e
check if the user's guess (also stored in int) is higher, lower, or correct. Provide
hints to the user to improve the answer. Solve this problem using the while loop.
c. Modify the Number Guessing Game program to use for loop instead of while
loop. Compare that the modified project behaves exactly the same way as the
previous one. Which loop structure do you like the most?
19. Practical 19
● Write build and run the programs for solving the following problem
a. Write a program that prints the following pattern on the screen with “*” characters
*******
******
*****
****
***
**
*
b. Modify the program to allow for variable number of rows to be printed. Take input N
from the users and print N rows.
c. Write a program that prints the following pattern on the screen with “*” characters
*
**
***
****
*****
******
*******
d. Modify the program to allow for variable number of rows to be printed. Take input N
from the users and print N rows.
20. Practical 20
● Write build and run the programs for solving the following problem
a. Understand the following program. Explain. Run and confirm if your understood correctly.
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream> coord.Y = y;
using namespace std; SetConsoleCursorPosition(GetStdHandle(STD_OU
TPUT_HANDLE), coord);
#include <iostream> cout << "o"; // Represent the cannonball with 'o'
#include <cmath>
#include <chrono> this_thread::sleep_for(chrono::milliseconds(delay));
#include <thread> // Pause for a short period
#include <windows.h> }
#define M_PI 3.14 int main() {
using namespace std; delay = 100;
// Constants int x, y;
const double GRAVITY = 10.0; // m/s^2 system("CLS");
const int TERMINAL_WIDTH = 80; // Adjust for for (int x = 0; x < 40; x++) {
your terminal size y = x;
long long delay = 100; printGola(x, y);
void printGola(int x, int y) { }
y = 40 - y; return 0;
COORD coord; }
coord.X = x;
-----------------------------------------------------------------------------------------------------------------------------
72 | P a g e
--
b. Modify above zig zag to touch top middle and then bottom right.
c. Given speed and angle of a cannon gun (top) that fires the cannon (gola), calculate how
high will it go, how far it will go, and modify the prev to animate firing.
i. The equation for horizontal distance is:
ii. d=v^2 Sin (2θ) / g, where v is the velocity, θ is the angle of fire and g is
acceleration due to gravity 10 m/s^2.
iii. The equation for vertical distance is:
iv. h = (v Sin(θ))^2 / 2g
21. Practical 21
● Write build and run the programs for solving the following problem
a. Modify the cannon gun game to include the following
i. Introduce Targets
ii. Make a simple scoring game
iii. Ends if maximum tries (10) or the target is hit.
b. Add menu to the game for starting, pausing, resuming and exiting the game
22. Practical 22
● Write build and run the programs for solving the following problem
a. <<Before snake game provide sample program that shows different output for arrow
keys. Print“Left” “Right” etc. All the elements of the game should be in the sample
program.>>
b. Create a snake game with the fixed-sized snake. The snake should move one step at a
time with one arrow key.
23. Practical 23
● Write build and run the programs for solving the following problem
a. Modify the snake game you have developed to make the movement of the snake
automatic without requiring arrow key input.
b. The snake dies if it touches boundary.
24. Practical 24
● Write build and run the programs for solving the following problem
a. Modify the snake game to add menu to it.
b. The menu should have the following options Start, Quit, Play Again
25. Practical 25
● Write build and run the programs for solving the following problem
a. Modify the snake game such that the snake grows by eating eggs. The eggs are
placed randomly on the screen.
b. Further modify the game to set speed of snake as variable. Add a menu option
for getting speed from the user.
c. Growth with eating eggs.
d. Bonus: Add coloring and sound to the game
73 | P a g e
26. Practical 26
● Write build and run the programs for solving the following problem
a. Read and understand the following program. Run the program again and again
to see it’s behavior
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <cstdlib> // Generate a random number between 0 and 9
#include <ctime> int randomNumber = rand() % 10;
using namespace std; cout << "Random number: " <<
int main() { randomNumber << endl;
// Seed the random number generator with the
current time return 0;
srand(time(0)); }
----------------------------------------------------------------------------------------------------------------------------
b. Build a simple Luddo game using the random number generator in place of throwing a
dice.
i. There is only one path that runs around the edges of the screen.
ii. Player 1 Goti starts at the middle left of the screen. The previous square is
Home of Player 1.
iii. Player 2 Goti starts at the middle right of the screen. The previous square is
Home of Player 2.
iv. A player wins if it kills the other or if gets to it’s home.
v. The game is played using a random number generated between 1 and 6 each
time a player wants to move Goti.
27. Practical 27
● Write build and run the programs for solving the following problem
a. Understand the following program and explain what it is trying to achieve
--------------------------------------------------- arr[j + 1] = temp;
#include <iostream> }
using namespace std; }
void bubbleSort(int arr[], int n) { }
for (int i = 0; i < n - 1; i++) { }
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) { void printArray(int arr[], int size) {
// swap arr[j] and arr[j+1] for (int i = 0; i < size; ++i)
int temp = arr[j]; cout << arr[i] << " ";
arr[j] = arr[j + 1]; cout << endl;
}
74 | P a g e
ii. Sort students on names in ascending order.
28. Practical 28
● Write build and run the programs for solving the following problem
a. Run the following program:
-----------------------------------------------------------------------------------------------------------------------------
--
#include <iostream>
#include <string>
using namespace std;
int main() {
string paragraph1 = "pakiStaN is A LAnD of BreAtHtaKIng bEAuty. FrOM the TOWeRIng PeAks
Of tHe hiMAlAYAs tO thE SEREnE BEaCHES Of The ArabIan sea, ThE cOUntRy offErS a dIvERSE
Range OF lAnDscApeS. THE LUsh grEeN valLeYs, CAsCADing wAtErfaLlS, AND crYstal-clEAR
lAkES ArE a SiGHt TO BEhOlD. tHe VibRaNT CULtUrE, WaRM hoSPitALiTy, aND RIch HiSTOrY
ADD to tHe ChArM Of thIs BeAUtIfuL NATION.";
string paragraph2 = "pAkisTAn Is also hOme to A rICH wIlDLife. thE dIverSE ECoSYSteMs
suPport A wIdE VARIety of FlorA AnD FAUna. fRom thE SNoW LEopaRDS in the nOrTheRN
moUntAiNs To tHe dolphInS in The CoaStaL WAteRS, The cOuntrY OFFErS iNcrediBLe
oppOrtUNitiES foR WIldLife ENtHUSIAstS. the vAsT DESeRTS, fertILe pLAINS, aNd mangROvE
fOResTS pRoVIde HaBItaTs for CoUnTLEsS SpEciES.";
return 0;
}
-----------------------------------------------------------------------------------------------------------------------------
b. Modify the program to correct the case of the text.
c. Run the same program on the following text to see if it fixes the case correctly
-----------------------------------------------------------------------------------------------------------------------------
pAkiSTAN iS bLESSeD with a nETWoRk oF riveRS THAt nOuRish ThE LAND ANd sUppOrt Its
PeOpLE. The inDus RIver, THe LIfeLINE oF thE cOUNTRy, fLOWs ThroUGh vasT PlAinS,
cReaTInG fErtile aGRIcULTUral LAnD. OTheR MaJoR rIvers lIkE The cHEnAb, JheLUm, And ravi
cONTributE To THe CouNtRy's wATeR reSoURcES AnD HyDroelECtRic POwEr gENERAtIon.
-----------------------------------------------------------------------------------------------------------------------------
29. Practical 29
● Write build and run the programs for solving the following problem
a. Given the following program
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
#include <iostream>
#include <cmath>
#include <chrono>
#include <thread>
#include <windows.h>
#define M_PI 3.14
using namespace std;
75 | P a g e
// Constants
const double GRAVITY = 10.0; // m/s^2
const int TERMINAL_WIDTH = 80; // Adjust for your terminal size
long long delay = 100;
void printGola(int x, int y) {
y = 40 - y;
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
cout << "o"; // Represent the cannonball with 'o'
this_thread::sleep_for(chrono::milliseconds(delay)); // Pause for a short period
}
int main() {
delay = 100;
int x, y;
system("CLS");
for (int x = 0; x < 40; x++) {
y = x;
printGola(x, y);
}
return 0;
}
-----------------------------------------------------------------------------------------------------------------------------
--
b. Modify the program and create AnimatGola() function. This function should
change color of the Gola while in motion. Ensure that the program runs
correctly.
30. Practical 30
Write build and run the programs for solving the following problem
a. Modify the Luddo game and create the following functions
i. int RollDice() // This function rolls the dice and return a number
ii. AdvanceGoti(int n) // This function advances the Goti by n steps
b. Ensure that Luddo game works correctly.
76 | P a g e
31. Practical 31
● Write build and run the programs for solving the following problem
a. Understand the program and write down what it is doing.
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream> 1);
#include <string> } else {
using namespace std; decrypted_text += c;
string encrypt(string text) { }
string encrypted_text = ""; }
for (char c : text) { return decrypted_text;
if (isalpha(c)) { }
encrypted_text += static_cast<char>(c + int main() {
1); string text = "This is a simple text to
} else { encrypt";
encrypted_text += c; string encrypted_text = encrypt(text);
} string decrypted_text =
} decrypt(encrypted_text);
return encrypted_text; cout << "Original text: " << text << endl;
} cout << "Encrypted text: " << encrypted_text
<< endl;
string decrypt(string text) { cout << "Decrypted text: " << decrypted_text
string decrypted_text = ""; << endl;
for (char c : text) { return 0;
if (isalpha(c)) { }
decrypted_text += static_cast<char>(c -
-----------------------------------------------------------------------------------------------------------------------------
--
b. Modify the program to use encoding by advancing ascii code by 5 (5 steps).
c. Modify the program that gets input steps from the user and advance by that number of
steps for encryption. Your program should correctly decrypt the text.
d. Notice that if you use 13 step encryption, encrypting the text twice will decrypt it!
32. Practical 32
● Write build and run the programs for solving the following problem
a. Understand the following program. Explain. Run and confirm if you understood
correctly. (Simple encryption with one character using XOR)
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <string>
using namespace std;
string xor_encrypt(string text, char key) {
string cipher = "";
for (char c : text) {
cipher += c ^ key;
}
return cipher;
}
string xor_decrypt(string cipher, char key) {
string text = "";
for (char c : cipher) {
77 | P a g e
text += c ^ key;
}
return text;
}
int main() {
string plaintext = "Hello, world!";
char key = 'X';
string ciphertext = xor_encrypt(plaintext, key);
cout << "Ciphertext: " << ciphertext << endl;
string decrypted_text = xor_decrypt(ciphertext, key);
cout << "Decrypted text: " << decrypted_text << endl;
return 0;
}
-----------------------------------------------------------------------------------------------------------------------------
--
b. Modify the program to make it menu based with the following options
i. Press 1 to Provide key character
ii. Press 2 to Provide text to encrypt
iii. Press 3 to print text
iv. Press 4 to encrypt the text
v. Press 5 to print encrypted text
vi. Press 0 to exit
33. Practical 33
● Write build and run the programs for solving the following problem
c. Understand the following program. Explain. Run and confirm if you understood
correctly. (Simple encryption with two character using XOR)
-----------------------------------------------------------------------------------------------------------------------------
--
#include <iostream> }
#include <string> return text;
using namespace std; }
string xor_encrypt(string text, string key) { int main() {
string cipher = ""; string plaintext = "Hello, world!";
int key_len = key.length(); string key = "XY";
for (int i = 0; i < text.length(); ++i) { string ciphertext = xor_encrypt(plaintext,
cipher += text[i] ^ key[i % key_len]; key);
} cout << "Ciphertext: " << ciphertext << endl;
return cipher; string decrypted_text =
} xor_decrypt(ciphertext, key);
string xor_decrypt(string cipher, string key) { cout << "Decrypted text: " << decrypted_text
string text = ""; << endl;
int key_len = key.length(); return 0;
for (int i = 0; i < cipher.length(); ++i) { }
text += cipher[i] ^ key[i % key_len];
-----------------------------------------------------------------------------------------------------------------------------
--
d. Modify the program to make it menu based with the following options
i. Press 1 to Provide key string
ii. Press 2 to Provide text to encrypt
78 | P a g e
iii. Press 3 to print text
iv. Press 4 to encrypt the text
v. Press 5 to print encrypted text
vi. Press 0 to exit
34. Practical 34
● Write build and run the programs for solving the following problem
a. Understand the following program. Explain. Run and confirm if you understood
correctly.
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream> endl;
#include <fstream> }
#include <string> ifstream inputFile("output.txt");
using namespace std; string line;
int main() { if (inputFile.is_open()) {
string text = "This is a simple text to be while (getline(inputFile, line)) {
written to a file."; cout << line << endl;
ofstream outputFile("output.txt"); }
if (outputFile.is_open()) { inputFile.close();
outputFile << text; } else {
outputFile.close(); cout << "Error opening input file." <<
cout << "Text written to output.txt endl;
successfully." << endl; }
} else { return 0;
cout << "Error opening output file." << }
-----------------------------------------------------------------------------------------------------------------------------
b. Modify the string key encryption/decryption program to include following menu:
i. Press 1 to Provide key string
ii. Press 2 to Provide input file name to encrypt
iii. Press 3 to print input file contents
iv. Press 4 to encrypt the input file contents
v. Press 5 to print cipher (encrypted file contents)
vi. Press 6 to Provide output file name and write cipher to output file
vii. Press 0 to exit
c. Using the above program create secret files and share with your friends. Only you and
your friend can decrypt the file and see what is inside!
35. Practical 35
● Write build and run the programs for solving the following problem
a. Understand the following program. Explain. Run and confirm if you understood
correctly. (Chaining encryption with one character using XOR)
----------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <string>
using namespace std;
string xor_encrypt(string text, char key) {
string cipher = "";
for (char c : text) {
cipher += c ^ key;
}
return cipher;
79 | P a g e
}
80 | P a g e
38. Practical 38
● Write build and run the programs for solving the following problem
a. Create the Zero Kata (Tic Tac Toe) using object oriented programming.
b. Given below is the skeleton code
-----------------------------------------------------------------------------------------------------------------------------
--
#include <iostream> // Implement code to make a move
using namespace std; }
const int SIZE = 3; int main() {
char board[SIZE][SIZE] = {{' ', ' ', ' '}, bool gameOver = false;
{' ', ' ', ' '}, while (!gameOver) {
{' ', ' ', ' '}}; displayBoard();
char currentPlayer = 'X'; // Get player input for row and column
void displayBoard() { makeMove(row, col);
// Implement code to display the board if (checkWin(currentPlayer)) {
} cout << "Player " << currentPlayer << "
bool isBoardFull() { wins!" << endl;
// Implement code to check if the board is gameOver = true;
full } else if (isBoardFull()) {
return false; cout << "It's a draw!" << endl;
} gameOver = true;
bool checkWin(char player) { }
// Implement code to check if the player has currentPlayer = (currentPlayer == 'X') ?
won 'O' : 'X';
return false; }
} return 0;
void makeMove(int row, int col) { }
-----------------------------------------------------------------------------------------------------------------------------
a. Explanation:
i. The board array represents the Tic-Tac-Toe board.
ii. currentPlayer keeps track of the current player ('X' or 'O').
iii. displayBoard function will print the current state of the board.
iv. isBoardFull checks if the board is completely filled.
v. checkWin checks if the current player has won.
vi. makeMove updates the board with the player's move.
b. Students can:
i. Implement the functions displayBoard, isBoardFull, checkWin, and
makeMove.
ii. Add input validation for player moves.
iii. Enhance the game with features like player names, turn-based play, and
AI opponents.
81 | P a g e
39. Practical 39
● Write build and run the programs for solving the following problem
a. Create the game of chess using object oriented programming.
b. Given below is the skeleton code
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream> Piece* getPieceAt(int row, int col) {
#include <vector> // Return piece at given position
using namespace std; return nullptr;
enum PieceType { PAWN, ROOK, KNIGHT, }
BISHOP, QUEEN, KING }; bool movePiece(int startRow, int startCol, int
enum PieceColor { WHITE, BLACK }; endRow, int endCol) {
class Piece { // Move piece from start to end position
public: return false;
PieceType type; }
PieceColor color; };
int row, col; class Player {
bool hasMoved; public:
Piece(PieceType type, PieceColor color, int row, PieceColor color;
int col) { vector<Piece*> pieces;
// Initialize piece attributes Player(PieceColor color) {
} // Initialize player with pieces
virtual bool isLegalMove(int newRow, int }
newCol) = 0; void makeMove() {
virtual void move(int newRow, int newCol) = 0; // Implement player move logic
}; }
class Pawn : public Piece { };
public: class Game {
Pawn(PieceColor color, int row, int col) : public:
Piece(PAWN, color, row, col) {} Board board;
bool isLegalMove(int newRow, int newCol) Player player1, player2;
override { PieceColor currentTurn;
// Implement pawn move logic Game() {
return false; // Initialize game
} }
void move(int newRow, int newCol) override { void startGame() {
// Implement pawn move action // Start the game
} }
}; void playTurn() {
// Other piece classes (Rook, Knight, Bishop, // Play a turn
Queen, King) }
class Board { bool isGameOver() {
public: // Check if game is over
vector<vector<Piece*>> board; return false;
Board() { }
// Initialize board with pieces };
} int main() {
bool isOccupied(int row, int col) { // Create a game instance and start playing
// Check if position is occupied return 0;
return false; }
}
-----------------------------------------------------------------------------------------------------------------------------
--
c. Explanation:
82 | P a g e
i.This code provides a basic skeleton for a chess game using OOP.
ii.The Piece class is an abstract base class for all chess pieces.
iii.Specific piece classes inherit from Piece and implement their own move
logic.
iv. The Board class represents the chessboard and handles piece movement.
v. The Player class represents a player and manages their pieces.
vi. The Game class orchestrates the gameplay.
d. Students can:
i. Implement the missing methods in the Piece, Board, Player, and Game
classes.
ii. Add more attributes and methods as needed.
iii. Create additional classes for features like move history, etc.
iv. Design the user interface.
40. Practical 40
● Do the following
a. Understand the following program and write down what it is doing:
-----------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
void writeTextFile() {
ofstream outputFile("textFile.txt");
if (outputFile.is_open()) {
outputFile << "This is a text file.\n";
outputFile << "We can write formatted data:\n";
outputFile << fixed << setprecision(2);
outputFile << "Pi: " << 3.14159 << endl;
outputFile.close();
cout << "Text file written successfully.\n";
} else {
cout << "Error opening output file.\n";
}
}
void readTextFile() {
ifstream inputFile("textFile.txt");
if (inputFile.is_open()) {
string line;
while (getline(inputFile, line)) {
cout << line << endl;
}
inputFile.close();
cout << "Text file read successfully.\n";
} else {
cout << "Error opening input file.\n";
}
}
void writeBinaryFile() {
ofstream outputFile("binaryFile.bin", ios::binary);
83 | P a g e
if (outputFile.is_open()) {
int number = 42;
double pi = 3.14159;
char character = 'A';
outputFile.write(reinterpret_cast<char*>(&number), sizeof(number));
outputFile.write(reinterpret_cast<char*>(&pi), sizeof(pi));
outputFile.write(&character, sizeof(character));
outputFile.close();
cout << "Binary file written successfully.\n";
} else {
cout << "Error opening output file.\n";
}
}
void readBinaryFile() {
ifstream inputFile("binaryFile.bin", ios::binary);
if (inputFile.is_open()) {
int number;
double pi;
char character;
inputFile.read(reinterpret_cast<char*>(&number), sizeof(number));
inputFile.read(reinterpret_cast<char*>(&pi), sizeof(pi));
inputFile.read(&character, sizeof(character));
cout << "Number: " << number << endl;
cout << "Pi: " << pi << endl;
cout << "Character: " << character << endl;
inputFile.close();
cout << "Binary file read successfully.\n";
} else {
cout << "Error opening input file.\n";
}
}
void randomAccessFile() {
fstream file("randomAccessFile.dat", ios::in | ios::out | ios::binary);
if (file.is_open()) {
int data[3] = {10, 20, 30};
file.write(reinterpret_cast<char*>(data), sizeof(data));
file.seekp(sizeof(int)); // Move to the second integer
int newData = 40;
file.write(reinterpret_cast<char*>(&newData), sizeof(newData));
file.seekg(0); // Move to the beginning
int readData[3];
file.read(reinterpret_cast<char*>(readData), sizeof(readData));
cout << "Data after modification: ";
for (int i = 0; i < 3; ++i) {
cout << readData[i] << " ";
}
cout << endl;
file.close();
cout << "Random access file operations successful.\n";
} else {
cout << "Error opening file.\n";
84 | P a g e
}
}
int main() {
writeTextFile();
readTextFile();
writeBinaryFile();
readBinaryFile();
randomAccessFile();
return 0;
}
-----------------------------------------------------------------------------------------------------------------------------
--
b. Now create a program that input student full names and their city and write in
the text file.
c. Create a program
i. That input student full names, their city, age, and height and write in the
text file with proper format and spacing.
ii. Read the same file and remove the formatting and store in arrays.
Remove the extra spaces etc. while reding the file.
iii. Display all the information read from the file
85 | P a g e
CIT-141 Computer & Peripheral Maintenance
Total Contact Hours
Theory 0 T P C
Practical 96 0 3 1
A major course dealing with the main component of the microcomputer motherboard, it’s internally
Attached components and the peripherals. It is designed to provide student with skills and Knowledge
to maintain, diagnose and repair computer main system board and peripherals. It covers Concepts and
methods of preventive maintenance, fault diagnose of motherboard, power supply, Memory, storage
device, PCB, printers, monitors and other externally attached component of Computer system. This has
laboratory component.
List of Practical
1. Introduction & Safety Procedures: Overview of course and safety procedures for
handling computer hardware.
2. Identify Computer Components: Open a computer case and identify major components
(motherboard, hard disk ,CPU, RAM, power supply, etc.).
3. Assembling a Computer: Assemble a computer from individual components.
4. Disassembling a Computer: Safely disassemble a computer and reassemble it.
5. Connecting Peripherals: Connect and configure peripheral devices (printers, scanners,
external drives).
6. Troubleshooting Peripherals: Diagnose and resolve common issues with peripheral
devices.
7. Introduction to OS Installation: Overview of different operating systems and
installation processes.
8. Install Windows OS: Perform a clean installation of Windows operating system.
9. Install Linux OS: Perform a clean installation of a popular Linux distribution (e.g.,
Ubuntu).
10. Dual-Boot Setup: Configure a dual-boot system with Windows and Linux.
11. BIOS/UEFI Settings: Access and configure BIOS/UEFI settings.
86 | P a g e
12. OS Configuration: Configure basic operating system settings and preferences.
13. Install Essential Software: Install essential software and utilities (e.g., antivirus,
productivity tools).
14. Configuration of Multimedia
15. Installation and Setup of ink jet Printer
16. Identification and Disassembly/Assembly of ink jet Printer
17. Identification and Disassembly/Assembly of LCD/ LED and its Interface Card
18. Troubleshooting, Preventive and Corrective Maintenance of LCD/ LED
RECOMMENDED BOOKS
CompTIA A+ 220-801 and 220-802 Authorized Cert Guide, Third Edition, Mark Edward Soper, David
L. Prowse and Scott Mueller.
Microprocessors And Interfacing 2E, DOUGLA V Hall by McGraw-Hill Education
The Complete A+ Guide to PC Repair Fifth Edition Update (5th Edition), Cheryl Schmidt
A Guidebook in PC Hardware, Maintenance And Repair Ent 284, William A. Lloyd by PRINCE
GEORGE'S COMMUNITY COLLEGE
Computer Hardware Technicians CH111, 5 CD-ROM set by NCSA Academy USA Computer Hardware
Technicians
87 | P a g e
Gen-201 Islamiat & Pak Studies
88 | P a g e
89 | P a g e
90 | P a g e
91 | P a g e
92 | P a g e
TTQ 211/Civic-211 TARJAMA TUL QURAN/
Civics
T P C
1 0 1
Total Contact Hours:
Theory: 32
Practical: 0
93 | P a g e
MATH-233 APPLIED MATHEMATICS-II
AIMS At the end of the course, the students will be able to:
Solve problems of Calculus, Laplace Transformation and Fourier Series, and develop
mathematical skills and logical perceptions in the use of mathematical instruments.
COURSE CONTENTS
2. DIFFERENTIATION 6 hours
2.1 Increments
2.2 Differential Coefficient or Derivative
2.3 Differentiation ab-initio or by first Principle
2.4 Geometrical Interpretation of Differential Coefficient
2.5 Differential Coefficient of Xn and (ax + b)n
2.6 Three important rules
2.7 Problems
94 | P a g e
5. DIFFERENTIATION OF LOGARITHMIC & EXPONENTIAL FUNCTIONS 6 hours
5.1 Differentiation of ln x
5.2 Differentiation of Log ax
5.3 Differentiation of ax
5.4 Differentiation of ex
5.5 Problems
95 | P a g e
12.1 Introduction
12.2 Periodic Functions
12.3 Even and Odd Functions
12.4 Problems
RECOMMENDED BOOKS:-
1. Text Book of Math-233, developed by Curriculum Section, Academics wing TEVTA and
published by National Book Foundation (NBF).
96 | P a g e
MGM-211 Business Communication
Total Contact Hours
Theory 32 T P C
Practical 0 1 0 1
COURSE OUTLINE
Contents Hours
97 | P a g e
3. Questioning Skills 03 Hrs
3.1. Nature and Types of Questions
3.2. Characteristics of a Good Questions
3.3. Questioning Strategy
RECOMMENDED BOOKS
98 | P a g e
INSTRUCTIONAL OBJECTIVES
1. Communication Process
1.1. Understand the communication process
1.2. State the benefits of two way communication
1.3. Describe a model of communication process
1.4. Explain the major communication methods used in organization
1.5. Identify the barriers to communication and methods of overcoming these barriers
1.6. Identify misconceptions about communication
3. Questioning Skills
3.1. Determine the uses of questioning skills and clarify information in the oral communication
process
3.2. Identify different types of questions
3.3. Determine the purpose of each type of question and its application
3.4. Identify the hazards to be avoided when asking questions
3.5. Demonstrate questioning skills
4. Listening Skills
4.1. Demonstrate the use of active listening skill in the oral communication process
4.2. State the principles of active listening
4.3. Identify skills of active listening
4.4. Identify barriers to active listening
4.5. State the benefits of active listening
4.6. Demonstrate listening skills.
4.7. Explain the importance of giving and receiving feed back
5. Interview Skills
5.1. Determine the appropriate interview type for the specific work-related situation and conduct a
work-related interview
5.2. State the significance of interviews
5.3. State the characteristics of interviews
5.4. Explain the activities in an interviewing situation
5.5. Describe the types of interviews
99 | P a g e
5.6. Explain the interviewing strategy
5.7. Prepare instrument for a structured interview
6. Report Writing
6.1. Prepare a report out-line, based on subject matter and audience
6.2. Identify the different types of reports
6.3. Determine when to use an informal or formal report presentation
6.4. Identify the stages of planning a report
6.5. Identify the parts of a report and choose the parts appropriate for each type of report
6.6. Draft a report outline
7. Reading Comprehension
7.1. Demonstrate reading comprehension
7.2. Identify major reading problems
7.3. Identify basic reading skills
7.4. State methods of previewing written material
7.5. Identify methods of concentration when reading
7.6. Demonstrate reading comprehension
8. Group Communication
8.1. Understand the principles of group communications
8.2. State the purpose and characteristics of major types of meeting
8.3. Explain responsibilities of a meeting/committee
8.4. Identify problems likely to be faced at meeting and means to overcome these problems
8.5. Distinguish between content and process at meetings
8.6. Explain the key characteristics of a good group facilitator
100 | P a g e
CIT- 203 Data Communication & Computer Networks
Total Contact Hours
Theory 64 T P C
Practical 96 2 3 3
Introductory course on data communication and computer networks. It aims to provide the students
conceptual tools to understand the design and implementation of data communication as applied to
computer networks. It discusses the layered model. It covers communication, media, WAN, LAN,
Internetworking, protocols, network management and troubleshooting. This comes with practical
component to complement classroom discussion.
COURSE OUTLINE
Contents Hours
101 | P a g e
2.6. Wireless Controller
102 | P a g e
RECOMMENDED BOOKS
Networking Essentials, Joe Casad and Dan Newland, Techmedia
Computer Networks, 2Ed, Andrew S. Tanenbaum, Prentice Hall
Data and Computer Communications, 4Ed., William Stallings, MacMillan
Local Area Networks, 2Ed, Peter Hodos
An introduction to Local Area Networks, Greg Nunemacher
Networking Explained, Gallo
Networking Essentials, 2Ed, Microsoft Press
103 | P a g e
INSTRUCTIONAL OBJECTIVE
2. Connecting Devices
2.1. Explain detail on Modems
2.2. Explain detail on Hubs and Repeaters
2.3. Explain detail on Bridges, Routers and Gateways
2.4. Explain detail on Wireless Communication.
2.5. Describe Wireless Access point
2.6. Describe Wireless Controller
3. Network Model
3.1. Detail explain on Introduction to Network Model
3.2. Understand importance of OSI Model
3.3. Explain the Layered task in OSI
3.4. Explain the TCP/IP Model
3.5. Difference between TCP and UDP
3.6. Explain the Layered task in TCP/IP
3.7. Detail explain on IP Addressing
4. Network Troubleshooting
4.1. Detail explain on Testing Media connectivity testing & troubleshooting the
connectivity of Media and devices
4.2. Detail explain on Network Testing Tools
5. Network Services
5.1. Explain detail Introduction to Network Services
5.2. Explain detail DHCP
5.3. Explain detail DNS
5.4. Explain detail NTP
6. Hierarchical Network Design
6.1. State the LAN Architecture
6.2. State the Topologies
6.3. Ethernet, Fast Ethernet and gigabit Ethernet
104 | P a g e
6.4. Explain the WLAN Architecture
6.5. Explain detail Layers of Networks
6.6. State the Access Layer
6.7. Explain detail Distribution Layer
6.8. Explain detail State the Core Layer
7. Introduction of Data Communication & Multiplexing
7.1. Introduction
7.2. State the Data Transmission
7.3. Explain the Analog Transmission
7.4. Explain the Digital Transmission
7.5. State the Signal Impairment
7.6. Explain detail Telephony and Wireless Communication
7.7. Explain detail Multiplexing
7.8. Explain detail TDM
7.9. Explain detail FDM
105 | P a g e
List of Practical’s
106 | P a g e
CIT- 273 Digital Logic Design
Total Contact Hours
Theory 64 T P C
Practical 96 2 3 3
In this course, students will gain a foundational understanding of digital circuit design, including key
techniques and fundamental concepts. They will explore various forms of number representation in
digital electronics and master the skills to convert between these formats. The curriculum covers the
implementation and design of both combinational and sequential logic circuits, equipping students with
the ability to perform simple logical operations and build complex circuits. Additionally, students will
delve into sequential circuits and the storage mechanisms of different memory systems, gaining insights
into their functioning and conversion systems.
Learn basic techniques for the design of digital circuits and fundamental concepts
used in the design of digital systems.
Understand common forms of number representation in digital electronic circuits and
to be able to convert between different representations.
Implement simple logical operations using combinational logic circuits
Design combinational logic circuits, sequential logic circuits.
Impart to student the concepts of sequential circuits, enabling them to analyze
learn the storage mechanism of various memories and conversion system.
COURSE OUTLINE
Contents Hours
107 | P a g e
2. Boolean algebra, Functions, and Minimization. 07 Hrs
4.1. Introduction
4.2. Flip-flops
4.3. Types of Flip-flops
4.4. Clocked S-R Flip-flop
4.5. Clocked D Flip-flop
4.6. J-K Flip-flop
4.7. T Flip-flop
4.8. Triggering of Flip-flops
4.9. Multivibrators.
108 | P a g e
5. Registers 08 Hrs
5.1. Introduction
5.2. Shift Register
5.3. Serial-in–Serial-out Shift Register
5.4. Serial-in–Parallel-out Register
5.5. Parallel-in–Serial-out Register
5.6. Parallel-in–Parallel-out Register
5.7. Universal Register
5.8. Shift Register Counters
5.9. Counters
6.1. Introduction
6.2. Digital-to-Analog Converters (DAC)
6.3. Specific cation of D/A Converters
6.4. An Example of a D/A Converter
6.5. Analog-to-Digital Converters
6.6. Specific cation of an A/D Converter
6.7. An Example of an A/D Converter IC
7. LOGIC FMILY 09 Hrs
7.1. Introduction
7.2. Characteristics of Digital IC
7.3. Bipolar Transistor Characteristics
7.4. Resistor-Transistor Logic (RTL)
7.5. Diode Transistor Logic (DTL)
7.6. Transistor Logic (TTL)
7.7. Emitter-Coupled Logic (ECL)
7.8. Integrated-Injection Logic (I2L)
7.9. Metal Oxide Semiconductor (MOS)
8. MEMORY 06 Hrs
109 | P a g e
RECOMMENDED BOOKS
110 | P a g e
INSTRUCTIONAL OBJECTIVES
111 | P a g e
2.2 Basic Properties and Theorems of Boolean algebra
2.2.1 Principle of Duality
2.2.2 DE Morgan’s Theorem and Other Important Theorems
2.3 Boolean Functions
2.3.1 Define Boolean function
2.3.2 How Boolean function express algebraically
2.3.3 How Boolean function represented by Truth Table
2.4 Simplification of Boolean Expressions
2.4.1 Perform Simplification of Boolean Expressions using laws, thermos and
truth tables
2.5 Canonical and Standard Forms
2.5.1 Minterm and Maxterm
2.5.2 Deriving a Sum of Products (SOP) Expression from a Truth Table
2.5.3 Deriving a Sum of Products (SOP) Expression from a Truth Table
2.6 Logic Operators
2.6.1 Null, AND, Inhibition, Equivalence, Complement
2.6.2 Exclusive-OR, OR, NOR, NAND
2.7 Digital Logic Gates
2.7.1 AND, OR, Invertor or NOT, Buffer, NAND, NOR, X-OR, X-NOR)
2.8 Universal Gates
2.8.1 Realization of Logic Functions by NAND Gates
2.8.2 Realization of Logic Functions by NOR Gates
2.9 Positive and Negative Logic
2.10 Karnaugh Maps
2.10.1 Two-Variable Karnaugh Maps
2.10.2 Three-Variable Karnaugh Maps
2.10.3 Four - Variable Karnaugh Maps
2.10.4 Don’t-Care Combinations
112 | P a g e
3.6 Parity Generator and Checker
3.6.1 Describe Parity Generator and Checker
3.7 Four-Bit Binary Parallel Adder
3.7.1 Explain and draw the Four-Bit Binary Parallel Adder
3.8 Four-bit Binary Parallel Subtractor
3.8.1 Explain and draw the Four-bit Binary Parallel Subtractor
3.9 Four-bit Binary Parallel Adder/Subtractor
3.9.1 Explain and draw the Four-bit Binary Parallel Adder/Subtractor
3.10 BCD Adder
3.10.1 Explain and design BCD Adder
3.11 Magnitude Comparator
3.11.1 Define and Explain Magnitude Comparator with example
3.12 Decoders and Encoders
3.12.1 Define decoder’s circuit and its applications
3.12.2 Design 3-to-8 line decoder
3.12.3 Define Encoder’s circuit and its applications
3.12.4 Explain 8-to-1 line encoder circuit
3.13 Multiplexers or Data Selectors
3.13.1 Define multiplexer
3.13.2 Describe data selectors
3.13.3 Explain 4-to-1 line multiplexer
3.14 Demultiplexers or Data Distributors
3.14.1 Define De-multiplexer
3.14.2 Describe data distributors
3.14.2.1 Explain 1-to-8 line De-multiplexer
113 | P a g e
4.8.2 Edge-triggering of Flip-flops
4.9 Multivibrators.
4.9.1 555 Timer as Monostable Multivibrator (One Shot)
4.9.2 555 Timer as Astable Multivibrator (Free Running)
5. Registers and Counters
5.1 Introduction
5.1.1 Define Register and n-bit Registers
5.2 Shift Register
5.2.1 Describe the purpose of shift register and its use
5.3 Define and Explain Serial-in–Serial-out Shift Register
5.3.1 Shift-right Register
5.3.2 Shift-left Register
5.4 Define and Explain Serial-in–Parallel-out Register
5.5 Define and Explain Parallel-in–Serial-out Register
5.6 Define and Explain Parallel-in–Parallel-out Register
5.7 Universal Register
5.7.1 Define ‘Unidirectional Shift Register’.
5.7.2 Define ‘Bidirectional Shift Register’.
5.8 Shift Register Counters
5.8.1 Define and explain Ring Counter
5.9 Counters
5.9.1 Define counters and its Categories
5.9.2 Define Asynchronous and Synchronous Counter
114 | P a g e
7. LOGIC FAMILY
7.1 Introduction
7.2 Characteristics of Digital IC
7.2.1 Define the most important properties of varies logic families
Propagation delay (speed of operation), Power dissipation, Fan in, Fan out.
Noise immunity, Operating temperature, Power supply requirement
Current and voltage parameters.
7.3 Define and Introduction Bipolar Transistor Characteristics
7.4 Define and Introduction Resistor-Transistor Logic (RTL)
7.5 Define and Introduction Diode Transistor Logic (DTL)
7.6 Define and Introduction Transistor Logic (TTL)
7.7 Define and Introduction Emitter-Coupled Logic (ECL)
7.8 Define and Introduction Integrated-Injection Logic (I2L)
7.9 Define and Introduction Metal Oxide Semiconductor (MOS)
8- MEMORY
115 | P a g e
LIST OF PRACTICAL
116 | P a g e
CIT- 222 Operating System
Total Contact Hours
Theory 32 T P C
Practical 96 1 3 2
This hands-on course offers a comprehensive introduction to Linux OS, covering system structure, bash
scripting, and essential administrative tasks. Participants will develop practical skills in user and
resource management, backup automation, and deployment strategies. The curriculum includes virtual
environment and container management with Docker and Kubernetes, and remote VM management on
AWS, including network rules and security. The course emphasizes software installation, terminal
productivity, and secure management using PKI keys, culminating in a capstone project that integrates
all acquired skills.
At the end of the course, the students are expected to be able to exhibit
Proficient Linux System Administration Manage users, permissions, resources, and automate tasks
with bash scripting.
Advanced Container and Cloud Management: Deploy and manage virtual environments using
Docker, Kubernetes, and AWS, including network security.
Effective Terminal Productivity and Security: Install and configure development tools, optimize
terminal usage, and utilize PKI keys for secure management.
COURSE OUTLINE
Contents Hours
1. What is Operating System 05 Hrs
1.1. Processes of operating system
1.2. Privilege access rights and users
1.3. Memory
1.4. Storage
1.5. Network
1.6. Vms
1.7. Cloud
2. Processes and Threads 06 Hrs
2.1. Concept
2.2. Comparison
2.3. Context switching
2.4. Multiprogramming
2.5. Multithreading
117 | P a g e
2.6. IPC
3. Memory 06 Hrs
3.1. Paging architecture
3.2. Allocation
3.3. Virtual memory
4. Disk and File system 05 Hrs
4.1. Disk structure
4.2. Drive vs partition vs file system
4.3. Inode allocation structure
4.4. Linked with fat allocation
4.5. Fragmentation
5. Cloud 10 Hrs
5.1. VM
5.2. Containerization
5.3. Comparison with virtual environments
5.4. Infrastructure as code
5.5. Virtual network
5.6. Virtual routers
5.7. Pki
References
1. "The Linux Command Line: A Complete Introduction" by William Shotts.
2. "Docker Deep Dive" by Nigel Poulton.
3. "Kubernetes: Up and Running: Dive into the Future of Infrastructure" by Kelsey Hightower,
Brendan Burns, and Joe Beda.
4. AWS Documentation and Training: https://aws.amazon.com/documentation/.
5. Operating system concepts Abraham Silberschatz
118 | P a g e
INSTRUCTIONAL OBJECTIVE
119 | P a g e
LIST OF PRACTICALS
120 | P a g e
CIT-283 Database Management System
Total Contact Hours
Theory 64 T P C
Practical 96 2 3 3
Databases are part of our everyday life. Whether we are accessing our bank accounts, paying bills,
searching the web, or calling a call center, our requests are usually handled by a database management
system. This course aims to shift the focus from "computation" to "information" and covers key
concepts of organizing, storing, retrieving, and querying data. It includes the basics of database
architecture, management, and systems, as well as the principles of database design and techniques for
developing database applications.
COURSE CONTENTS
Contents Hours
121 | P a g e
2.1.2. Record-Based Data Models
2.1.3. Physical Data Models
2.1.4. Conceptual Modelling
2.1.5. NoSQL Graph Database
2.2. Database architecture
2.2.1. Traditional Two-Tier Client–Server Architecture
2.2.2. Three-Tier Client–Server Architecture
2.2.3. N-Tier Architectures
2.3. Database Languages
2.3.1. Data Definition Language
2.3.2. Data Manipulation Language
2.3.3. Data Control Language
2.4. Introduction to Cloud based databases
2.5. Introduction to distributed databases
122 | P a g e
5. Structuring Database 08 Hrs
123 | P a g e
7. Normalization of Database Tables 06 Hrs
7.1. Need for Normalization
7.2. First Normal Form
7.3. Second Normal Form
7.4. Third Normal Form
7.5. Boyce-Codd Normal Form (BCNF)
RECOMMENDED BOOKS
124 | P a g e
INSTRUCTIONAL OBJECTIVE
1. Introduction to Database
1.1. Introduction to Data and Information: Understand the difference between data and
information and why it's important.
1.2. Traditional File-Based Systems: Learn how traditional file systems work and how
they store data.
1.3. File-Based Approach: Understand the methods used in the file-based approach to
data storage.
1.4. Limitations of the File-Based Approach: Identify the problems and limitations of
using file-based systems.
1.5. Introducing the Database: Discover what a database is and how it differs from file-
based systems.
1.6. Structure of Database: Learn about the basic structure and components of a database.
1.7. Uses of DBMS: Explore the different uses and applications of Database
Management Systems (DBMS).
1.8. Advantages and Disadvantages of DBMS: Understand the pros and cons of using a
DBMS.
1.9. Components of DB Applications: Identify the key components that make up
database applications.
1.10. Introduction to DBMS: Gain an overview of what a DBMS is and its main functions.
1.11. Role in Database Environment: Understand the role and importance of DBMS in
managing databases.
1.12. DB Tools; Microsoft Access, MySQL, SQL Server, Oracle: Get introduced to
popular database tools and their features.
2. Database Environment
2.1. Database Models Some famous database models have been introduced
2.2. Object-Based Data Models: Learn about data models that use objects to represent
data
2.3. Record-Based Data Models: Understand data models that use records, like tables and
rows, to represent data.
2.4. Physical Data Models: Explore how data is physically stored on hardware, and what
is a physical data model.
2.5. Conceptual Modelling: Understand how to create a high-level design of a database,
and what the difference between conceptual and physical database model is.
2.6. Network and Hierarchical Models: Learn about data models that use network and
tree like structures to represent data.
2.7. NoSQL Graph Database: Get introduced to NoSQL databases and understand how
graph databases work.
125 | P a g e
2.8. Database Architecture
2.9. Traditional Two-Tier Client–Server Architecture: Understand the basic two-layer
structure of client-server databases.
2.10. Three-Tier Client–Server Architecture: Learn about the three-layer structure that
separates the user interface, application logic, and database storage.
2.11. N-Tier Architectures: Explore more complex, multi-layered database architectures.
2.12. Database Languages
2.13. Data Definition Language: Learn about the language used to define the structure of
database objects.
2.14. Data Manipulation Language: Understand the language used to manage and
manipulate data in a database.
2.15. Data Control Language: Get familiar with the language used to control access to data
in a database.
2.16. Introduction to Cloud-Based Databases: Understand what cloud databases are and
how they are used.
2.17. Introduction to Distributed Databases: Learn about databases that are spread across
multiple locations.
126 | P a g e
4.3. Unary Operations and Binary Operations: Learn about single-table and multi-table
operations in SQL.
4.4. Set Operations: Explore operations that combine data from multiple tables.
4.5. Joins Operations: Understand how to combine data from two or more tables based
on related columns.
4.6. Types of Joins: Learn the different ways to join tables (e.g., inner join, outer join).
4.7. Division Operation: Understand the division operation in relational algebra.
4.8. Aggregation and Grouping Operations: Learn how to summarize and group data in
SQL.
5. Structuring Database
5.1. Data Definition Language: Understand how to define database structures.
5.2. Data Manipulation Language: Learn how to insert, update, and delete data.
5.3. Insertion, Deletion and Updating: Understand how to add, remove, and modify data
in a database.
5.4. Truncation & Concatenation: Learn how to remove all records from a table and
combine strings.
5.5. Simple Queries
5.6. Sorting Results (ORDER BY Clause): Learn how to sort query results.
5.7. Using the SQL Aggregate Functions: Understand how to perform calculations on
data sets.
5.8. Grouping Results (GROUP BY Clause): Learn how to group data based on one or
more columns.
5.9. Subqueries
5.10. SELECT Clause: Understand how to specify columns to retrieve.
5.11. FROM Clause: Learn how to specify the tables to query.
5.12. WHERE Clause: Understand how to filter query results.
5.13. HAVING Clause: Learn how to filter groups of data.
5.14. ANY and ALL: Understand how to use these operators in queries.
5.15. Multi-table Queries: Learn how to write queries that involve multiple tables.
5.16. EXISTS and NOT EXISTS: Understand how to test for the existence of data.
5.17. Combining Result Tables (UNION, INTERSECT, EXCEPT): Learn how to combine
query results.
127 | P a g e
6.5. Boyce-Codd Normal Form (BCNF): Understand this advanced form of
normalization to handle anomalies.
128 | P a g e
List of Practicals
129 | P a g e
6. Implement a view that shows the details of products running low in stock.
130 | P a g e
CIT-293 Computer Graphic Designing
Total Contact Hours
Theory 32 T P C
Practical 192 1 6 3
This course offers a thorough introduction to graphic design, beginning with its fundamentals, history,
and key tools, and exploring its applications in various fields, distinguishing between print and digital
media. It delves into design elements such as line, shape, form, space, and texture, along with principles
like balance, proximity, alignment, contrast, and symmetry. The curriculum covers color theory,
typography, and hands-on training with Adobe Photoshop and Illustrator. The course concludes with an
exploration of brand identity and logo design, including the importance of branding and creating
various marketing materials.
COURSE OUTLINE
Contents Hours
131 | P a g e
2.2. Principle of Design
2.2.1. Balance
2.2.2. Proximity
2.2.3. Alignment
2.2.4. Contrast
2.2.5. Symmetric Design & Asymmetric Design
4. Typography 03 Hrs
4.1. Fonts
4.2. Types of Fonts
4.3. Alignment of Text
4.4. Leading
4.5. Character Spacing
4.6. Kerning
4.7. Widow Orphan
4.8. Tracking
132 | P a g e
5.8. Clone Stamp
5.9. Healing, Patch, Content Aware Move
5.10. Painting Tools
5.11. Filters
5.12. Animation
6. Adobe Illustrator 07 Hrs
6.1. Vector Image & Art board
6.2. Vector Files
6.3. Selection & Direct Selection
6.4. Color, Swatches
6.5. Vector Shapes
6.6. Working with Layers
6.7. Pen Tool
6.8. Pathfinder
6.9. Scale & Rotate Tool
6.10. Gradient Tool
RECOMMENDED BOOKS
1. The Visual Dictionary of Graphic Design Gavin Ambrose and Paul Haris
2. The Fundamentals of Graphic Design Gavin Ambrose and Paul Haris
3. Adobe Photoshop Classroom in a Book By Conrad Chavez
4. Adobe Illustrator Classroom in a Book By Brian Wood
133 | P a g e
INSTRUCTIONAL OBJECTIVES
3. Color Theory
3.1. Define Color Wheel of RGB, CMYK and RYB
3.1.1. Explain Primary Colors and their role in color mixing.
3.1.2. Explain Secondary colors and their creation from primary colors.
3.1.3. How Tertiary Colors are formed by mixing primary and secondary colors.
3.2. Explain Color Schemes and color associations
3.2.1. Explain Monochromatic schemes and how they are formed.
3.2.2. Explain Analogous schemes and how they are created from color wheels.
3.2.3. Explain Complimentary schemes and how they are created from color wheels.
3.2.4. Explain Split Complimentary schemes and how they are created from color wheels
3.2.5. Explain Triadic schemes and how they are created from color wheels
3.2.6. Define Tint
3.2.7. Define Shade
3.2.8. Define Tone
3.3. Explain and differentiate between CMYK, RGB and HSB colors.
134 | P a g e
4. Typography
4.1. Explain different font styles and their usage.
4.2. Differentiate between Serif, Sans-Serif, Script and decorative fonts and where they are used.
4.3. Explain vertical and horizontal alignments. Explain nine alignments like top left, top center
etc.
4.4. Define Leading and its importance in reading.
4.5. Define Character Spacing and its effect on visual appeal.
4.6. Define Kerning and why fonts with bad kerning are not recommended.
4.7. Define Widow and Orphan in document
4.8. Define Tracking
5. Adobe Photoshop
5.1. Explain raster images. What is canvas?
5.2. Explain raster files and extensions of raster files.
5.3. Define Selection Tools
5.4. Define Lasso, Polygon Lasso, Magnetic Lasso
5.5. Define Magic wand, Quick Selection
5.6. Explain layers in Photoshop and its importance while creating .psd files
5.7. Explain Layer Styles. Shadows, Glow, Gradient etc.
5.8. What is Clone Stamp and where it is used.
5.9. Define Healing, Patch, Content Aware Move.
5.10. Define Painting Tools.
5.11. Define basic filters
5.12. Define animation and its usage.
6. Adobe Illustrator
135 | P a g e
7.3. Explain Office Stationary e.g. letterhead, envelop, business card and DVD cover.
7.4. Define Banner, Flyers, Pamphlet, Brochure and Billboards sizes.
7.5. Define Packaging and its importance.
136 | P a g e
LIST OF PRACTICAL
Adobe Photoshop
1. Software Installation & orientation, Move tool and Marquee Tool
2. Lasso, Polygon Lasso and Magnetic Lasso Tool
3. Quick Selection and Magic Wand Tool, Pen Tool
4. Create Typographical Text
5. Change mode of file from CMYK to RGB & vice versa Crop Tool, Eyedropper and Paint
Bucket
6. Spot Healing, Healing Brush and Patch Tool
7. Background Layer, Add/Delete/Merge Layers
8. Clone Stamp Tool & pattern stamp tool
9. Removing scratches and restoring old photo.
10. Editing Face beauty using Photo tools (removing moles, pimples and wrinkles)
11. Use different Shapes in Photoshop (Rounded, Line, Ellipse etc)
12. Layer Mask, Clipping Mask,
13. Different features of layer style
14. Smudge and Sponge Tool
15. Remove background from Picture and replace the background. Crop the image to passport
size.
16. Remove background from Logos and save as PNG file.
17. Use pen tool to extract any object from the picture.
18. Use Mask to create and mix image (Color and Black & White) levels, hue and saturation,
curves
19. Animation using Timeline
20. Make an animated advertisement of any Famous brand.
21. Animate the object in Photoshop. Save the file as animated gif.
Adobe Illustrator
22. Software Installation & Orientation Selection Tool, Direct Selection & Pen Tool.
23. Rotate Tool &Transform Tool.
24. Type Tool: Character Formatting, Paragraph Formatting.
25. Path Finder Tool: Unite, Minus Front, Intersect, Trim and Divide.
26. Color Pattern and Swatches Tool
27. Gradient Tool
28. Design Visiting Card
29. Design Letter Head
30. Design office stationary (Visiting card, letterhead, envelop, file folder)
CANVA
31. Introduction to CANVA.
32. Creates shapes and write text
33. Design banner and pamphlets in CANVA
137 | P a g e
CIT- 204 Web Development
Total Contact Hours
Theory 64 T P C
Practical 192 2 6 4
This web development course provides a comprehensive overview of the key technologies and concepts
in web development. It covers the fundamentals of web applications, front-end development (HTML,
CSS, JavaScript, React, Angular), back-end development (Node Js, Python Flask), and database
management (MongoDB). Additionally, it introduces students to popular content management systems
(CMS) WordPress
Gain a thorough understanding of web technologies and Implement web applications from
scratch.
Develop responsive front-end interfaces using HTML, CSS, MongoDB, JavaScript and its
frameworks React and Angular, Python and Python-based framework Flask.
Build scalable back-end systems and websites using Node.js and CMS platforms like
WordPress.
Acquire the skills necessary to independently develop, robust web solutions.
COURSE OUTLINE
Contents Hours
138 | P a g e
1.5. Images and Links Handling
1.5.1. Inserting and formatting images
1.5.2. Creating hyperlinks
139 | P a g e
4. JavaScript Fundamentals 08 Hrs
4.1. Introduction to JavaScript
4.1.1. Importance of JavaScript in web development
4.1.2. Including JavaScript in HTML
4.2. Variables and Operators
4.2.1. Declaring variables
4.2.2. Using assignment operators
4.3. Control Structures
4.3.1. If conditions and else statements
4.3.2. Switch cases
4.4. Loops and Functions
4.4.1. For, while, and do-while loops
4.4.2. Defining and invoking functions
4.5. Basic Events in JavaScript
4.5.1. Event handling
4.5.2. DOM manipulation
4.6. Form Validation
4.6.1. Validating form input using JavaScript
4.6.2. Creating a calculator application
5. jQuery 02 Hrs
5.1. Introduction to jQuery
5.1.1. Overview of jQuery and its advantages
5.1.2. Including jQuery in your project
5.2. Basic jQuery Operations
5.2.1. Selecting elements
5.2.2. Manipulating the DOM
5.3. Simple Animations
5.3.1. Fading, sliding, and other basic animations
5.3.2. Custom animations using jQuery
5.4. Adding and Removing HTML
5.4.1. Dynamically adding content
5.4.2. Removing elements from the DOM
6. Introduction to Databases 02 Hrs
6.1. Introduction to MongoDB
6.1.1. Overview of MongoDB
6.1.2. Installing and setting up MongoDB
6.1.3. Simple CRUD operations
7. JavaScript as Backend 14 Hrs
7.1. Node.js Installation and Setup
7.1.1. Installing Node.js
7.1.2. Setting up a Node.js project
7.2. Creating a Simple Express.js
7.2.1. Writing a basic server
140 | P a g e
7.2.2. Handling requests and responses
7.3. Building APIs with Express.js
7.3.1. Callback functions
7.3.2. Creating your first API
7.3.3. Using the API in front-end applications
7.4. Project Structure (Model, Controller, Router)
7.4.1. Organizing controllers, routers, models, and utilities
7.4.2. Best practices for project structure
7.5. Advanced API Development
7.5.1. Creating multiple APIs
7.5.2. Consuming APIs from the front-end
7.5.3. Storing data in the database via APIs
7.6. Authentication and Authorization
7.6.1. Implementing login functionality
7.6.2. Handling authentication and authorization
7.7. E-commerce Cart Application
7.7.1. Building an e-commerce cart
7.7.2. Viewing order details in the dashboard
7.8. Middleware and Order Management
7.8.1. Using middleware in APIs
7.8.2. Managing and viewing orders
7.9. Postman and API Testing
7.9.1. Introduction to Postman
7.9.2. Setting up and using Postman
7.9.3. Testing APIs with Postman
8. JavaScript based Frontend Frameworks 04 Hrs
8.1. Introduction to Frontend Frameworks
8.1.1. Overview of React and Angular
8.2. Use Cases and Applications
8.2.1. Building simple applications with each framework
9. Web Development with Python 12 Hrs
9.1. Introduction to Python Programming
9.1.1. Data Types: Numbers, strings, lists, tuples, dictionaries
9.1.2. Operators: Arithmetic, comparison, logical, assignment
9.1.3. Control Flow: Conditional statements (if, else, elif), loops (for, while)
9.1.4. Functions: Defining, calling, parameters, return values
9.1.5. Modules and Packages: Importing modules, creating custom modules
9.2. Introduction to Flask
9.2.1. What is a web framework?
9.2.2. Flask's role in web development.
9.2.3. Core components of a Flask application.
9.3. Setting Up a Flask Environment:
9.3.1. Installing Flask and required dependencies.
9.3.2. Creating a basic Flask application.
141 | P a g e
9.3.3. Running the application.
9.4. Routes and Request Handling:
9.4.1. Defining routes using Flask's @app.route decorator.
9.4.2. Handling different HTTP methods (GET, POST, etc.).
9.4.3. Accessing request data (query parameters, form data, JSON).
9.5. Rendering Templates
9.5.1. Introduction to template engines.
9.5.2. Using Jinja2 with Flask.
9.5.3. Creating dynamic HTML templates.
9.5.4. Passing data from Python to templates.
9.6. Forms
9.6.1. Creating HTML forms.
9.6.2. Handling form submissions using Flask-WTF.
9.6.3. Validating form data.
9.7. Databases with Flask-SQLAlchemy
9.7.1. Introduction to databases and ORMs.
9.7.2. Using Flask-SQLAlchemy to interact with databases.
9.7.3. Creating models and database tables.
9.7.4. Performing CRUD operations.
9.8. Error Handling
9.8.1. Handling exceptions in Flask applications.
9.8.2. Custom error pages.
9.9. Deployment
9.9.1. Basic understanding of deployment options.
9.9.2. Deploying Flask apps to platforms like Heroku or PythonAnywhere.
10. DNS, Nameservers, and Hosting 02 Hrs
10.1. Understanding DNS and Nameservers
10.1.1. What is DNS
10.1.2. How nameservers work
10.2. Types of Hosting
10.2.1. Shared hosting, VPS, dedicated servers
10.2.2. Cloud hosting overview
10.3. Setting Up Hosting
10.3.1. Deploying projects to different servers
10.3.2. Configuring hosting environments
11. WordPress CMS 06 Hrs
11.1. Introduction to WordPress
11.1.1. What is WordPress
11.1.2. Benefits of using WordPress
11.2. Installation and Setup
11.2.1. Installing WordPress
11.2.2. Setting up a basic website
11.3. Themes and Plugins
11.3.1. Choosing and customizing themes
142 | P a g e
11.3.2. Installing and using plugins
11.4. WooCommerce
11.4.1. Setting up an e-commerce store with WooCommerce
11.4.2. Managing products and orders
RECOMMENDED BOOK
HTML and CSS: Design and Build Websites, by Duckett, Jon, 2011, John Wiley & Sons,
ISBN: 978-1118008188
JavaScript and jQuery: Interactive Front-End Web Development by Duckett, Jon, 2014, John
Wiley & Sons, ISBN: 978-1118531648
Node.js Web Development - Third Edition: Create real-time server-side applications with this
practical, step-by-step guide, 2016, Packt Publishing, ISBN: 978-1785881503
MongoDB: The Definitive Guide: Powerful and Scalable Data Storage 3rd Edition by
Chodorow, Kristina, 2019, O'Reilly Media ISBN: 978-1491954461
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in
Technology Organizations by Gene Kim, Jez Humble, Patrick Debois, and John Willis, 2016,
IT Revolution Press, ISBN: 978-1942788003
Flask Web Development: Developing Web Applications with Python (2nd Ed.) by Miguel
Grinberg, O’Reilly Media (2018), ISBN: 978-1491991732
143 | P a g e
INSTRUCTIONAL OBJECTIVES
1. HTML Basics
1.1. Introduction to HTML
1.1.1. Understand what HTML is and why it is important for web development.
1.1.2. Learn the basic structure of an HTML document.
1.2. Basic HTML Tags
1.2.1. Use headings, paragraphs, and lists to organize content.
1.2.2. Apply Emphasis and Strong tags to highlight text.
1.2.3. Utilize div and span elements to structure HTML content.
1.3. Table Management
1.3.1. Create and format tables in HTML.
1.3.2. Use table rows, cells, and headers effectively.
1.3.3. Merge cells using colspan and rowspan attributes.
1.4. Forms
1.4.1. Identify and use different form elements such as input, radio, checkbox, select, and text
area.
1.4.2. Understand form attributes and basic validation.
1.4.3. Handle form submissions.
1.5. Images and Links Handling
1.5.1. Insert and format images in an HTML document.
1.5.2. Create hyperlinks to navigate between web pages.
2. CSS Fundamentals
2.1. Introduction to CSS
2.1.1. Explain what CSS is and its role in web development.
2.1.2. Include CSS in an HTML document using various methods.
2.2. CSS Selectors
2.2.1. Use element, class, and ID selectors to apply styles.
2.2.2. Utilize attribute selectors and pseudo-classes.
2.2.3. Understand specificity and inheritance in CSS.
2.3. Color Management
2.3.1. Set colors using names, hex, RGB, and HSL values.
2.3.2. Apply background colors and gradients.
2.4. Margin and Padding Management
2.4.1. Understand the box model.
2.4.2. Apply margin and padding properties.
2.5. Layouts
2.5.1. Use the display property (block, inline, inline-block) to control layout.
2.5.2. Position elements using static, relative, absolute, and fixed positioning.
2.5.3. Implement Flexbox and Grid systems for layout design.
2.6. Creating a Simple Static Website
2.6.1. Link multiple HTML pages together.
2.6.2. Build a simple layout for an e-commerce website.
144 | P a g e
3. Bootstrap Framework
3.1. Introduction to Bootstrap
3.1.1. Understand what Bootstrap is and its benefits.
3.1.2. Include Bootstrap in a web project.
3.2. Basic Classes
3.2.1. Use Bootstrap classes for typography and text utilities.
3.2.2. Implement buttons, alerts, and badges using Bootstrap.
3.3. Forms and Tables
3.3.1. Style forms using Bootstrap form classes.
3.3.2. Apply Bootstrap styles to tables.
3.4. Bootstrap Grid System
3.4.1. Understand and use the Bootstrap grid system.
3.4.2. Create responsive layouts with Bootstrap.
3.5. Responsive Design
3.5.1. Use Bootstrap to create layouts for mobile and desktop views.
3.5.2. Convert a static e-commerce website to use Bootstrap for responsiveness.
4. JavaScript Fundamentals
4.1. Introduction to JavaScript
4.1.1. Explain the importance of JavaScript in web development.
4.1.2. Include JavaScript in an HTML document.
4.2. Variables and Operators
4.2.1. Declare and use variables in JavaScript.
4.2.2. Understand and use assignment operators.
4.3. Control Structures
4.3.1. Implement if conditions and else statements.
4.3.2. Use switch cases for decision making.
4.4. Loops and Functions
4.4.1. Use for, while, and do-while loops for iteration.
4.4.2. Define and invoke functions in JavaScript.
4.5. Basic Events in JavaScript
4.5.1. Handle events in JavaScript.
4.5.2. Manipulate the DOM using JavaScript.
4.6. Form Validation
4.6.1. Validate form inputs using JavaScript.
4.6.2. Create a simple calculator application.
5. JQuery
5.1. Introduction to jQuery
5.1.1. Understand what jQuery is and its advantages.
5.1.2. Include jQuery in a web project.
5.2. Basic jQuery Operations
5.2.1. Select elements using jQuery.
5.2.2. Manipulate the DOM with jQuery.
5.3. Simple Animations
5.3.1. Create basic animations like fading and sliding.
145 | P a g e
5.3.2. Implement custom animations using jQuery.
5.4. Adding and Removing HTML
5.4.1. Dynamically add content to the DOM.
5.4.2. Remove elements from the DOM.
6. Introduction to Databases
6.1. Introduction to MongoDB
6.1.1. Get an overview of MongoDB.
6.1.2. Install and set up MongoDB.
6.1.3. Perform simple CRUD operations with MongoDB.
7. JavaScript as Backend
7.1. Node.js Installation and Setup
7.1.1. Install Node.js on your system.
7.1.2. Set up a Node.js project.
7.2. Creating a Simple Express.js
7.2.1. Write a basic server using Express.js.
7.2.2. Handle requests and responses.
7.3. Building APIs with Express.js
7.3.1. Understand and use callback functions.
7.3.2. Create your first API.
7.3.3. Use the API in front-end applications.
7.4. Project Structure (Model, Controller, Router)
7.4.1. Organize controllers, routers, models, and utilities.
7.4.2. Follow best practices for project structure.
7.5. Advanced API Development
7.5.1. Create multiple APIs.
7.5.2. Consume APIs from the front-end.
7.5.3. Store data in the database via APIs.
7.6. Authentication and Authorization
7.6.1. Implement login functionality.
7.6.2. Handle authentication and authorization.
7.7. E-commerce Cart Application
7.7.1. Build an e-commerce cart.
7.7.2. View order details in the dashboard.
7.8. Middleware and Order Management
7.8.1. Use middleware in APIs.
7.8.2. Manage and view orders.
7.9. Postman and API Testing
7.9.1. Introduction to Postman.
7.9.2. Set up and use Postman.
7.9.3. Test APIs with Postman.
8. Frontend Frameworks
8.1. Introduction to Frameworks
8.1.1. Get an overview of React, Angular
146 | P a g e
8.2. Use Cases and Applications
8.2.1. Build simple applications using each framework.
9. Web Development with Python
9.1. Introduction to Python Programming
9.1.1. Understand the basics of Python programming, including data types, variables, and
control flow.
9.1.2. Learn how to write simple Python programs.
9.2. Introduction to Flask
9.2.1. Understand the concept of web frameworks.
9.2.2. Learn about Flask as a Python web framework.
9.2.3. Know the basic structure of a Flask application.
9.3. Setting Up a Flask Environment
9.3.1. Set up a Python environment for Flask development.
9.3.2. Install Flask and necessary dependencies.
9.3.3. Create a basic Flask application.
9.4. Routes and Request Handling
9.4.1. Understand how to define URL routes in a Flask app.
9.4.2. Learn how to handle different types of requests (GET, POST, etc.).
9.4.3. Process incoming data from requests.
9.5. Rendering Templates
9.5.1. Use templates to create dynamic web pages.
9.5.2. Learn how to pass data from Python to templates.
9.5.3. Create reusable templates.
9.6. Forms
9.6.1. Build HTML forms using Flask-WTF.
9.6.2. Validate user input from forms.
9.6.3. Handle form submissions.
9.7. Databases with Flask-SQLAlchemy
9.7.1. Understand the concept of databases and ORMs.
9.7.2. Use Flask-SQLAlchemy to interact with databases.
9.7.3. Create database models and perform CRUD operations.
9.8. Error Handling
9.8.1. Handle errors gracefully in Flask applications.
9.8.2. Create custom error pages.
9.9. Deployment
9.9.1. Understand the process of deploying a Flask app to a web server.
9.9.2. Learn about different deployment options.
9.9.3. Deploy a simple Flask app to a platform like Heroku or PythonAnywhere.
10. DNS, Nameservers, and Hosting
10.1. Understanding DNS and Nameservers
10.1.1. Understand what DNS is.
10.1.2. Learn how nameservers work.
147 | P a g e
10.2. Types of Hosting
10.2.1. Differentiate between shared hosting, VPS, and dedicated servers.
10.2.2. Get an overview of cloud hosting.
10.3. Setting Up Hosting
10.3.1. Deploy projects to different servers.
10.3.2. Configure hosting environments.
11. WordPress CMS
11.1. Introduction to WordPress
11.1.1. Understand what WordPress is and its benefits.
11.2. Installation and Setup
11.2.1. Install WordPress.
11.2.2. Set up a basic WordPress website.
11.3. Themes and Plugins
11.3.1. Choose and customize WordPress themes.
11.3.2. Install and use WordPress plugins.
11.4. WooCommerce
11.4.1. Set up an e-commerce store using WooCommerce.
11.4.2. Manage products and orders with WooCommerce.
148 | P a g e
List of Practical
HTML Practical’s
1. Create a Basic HTML Page: Design a simple HTML page with headings, paragraphs, and lists.
2. Build a Table: Create a table with merged cells and headers.
3. Design a Form: Develop a form with various input elements and validation attributes.
4. Insert Images and Links: Add images and create hyperlinks in an HTML page.
CSS Practical’s
1. Apply CSS Selectors: Use element, class, and ID selectors to style HTML elements.
2. Color Management with CSS: Set background colors and gradients using different color
values.
3. Box Model Practice: Adjust margins and padding on various elements.
4. Flexbox Layout: Create a flexible layout using Flexbox.
5. Build a Static E-commerce Website: Link multiple pages to create a simple static e-commerce
site.
Bootstrap Practical’s
1. Bootstrap Typography and Buttons: Style text and buttons using Bootstrap classes.
2. Bootstrap Forms and Tables: Apply Bootstrap classes to style forms and tables.
3. Bootstrap Grid System: Create a responsive layout using Bootstrap's grid system.
4. Responsive Design Conversion: Convert a static e-commerce website to a responsive one
using Bootstrap.
JavaScript Practical’s
1. JavaScript Variables and Operators: Write a script that uses variables and operators.
2. Conditional Statements: Implement if conditions and switch cases in JavaScript.
3. Loops in JavaScript: Write a script using for, while, and do-while loops.
4. JavaScript Functions: Define and invoke JavaScript functions.
5. Event Handling: Add event listeners to HTML elements and handle events.
6. Form Validation with JavaScript: Validate form input using JavaScript.
7. Create a Calculator: Develop a simple calculator application using JavaScript.
JQuery Practical’s
1. Basic jQuery Operations: Use jQuery to select and manipulate HTML elements.
2. jQuery Animations: Implement fading and sliding animations with jQuery.
3. Dynamic HTML with jQuery: Add and remove HTML content dynamically using jQuery.
MongoDB Practical’s
1. MongoDB CRUD Operations: Perform create, read, update, and delete operations using MongoDB.
149 | P a g e
Node.js Practical’s
React Practical’s
Features:
Deployment Practical’s
WordPress Practical’s
Projects
Project 1(React or Angular) : Ecommerce Web Site. Online store with product listing and shopping cart
and checkout system.
1. Static product catalog with basic product information (name, description, price, image).
2. Shopping cart functionality (adding, removing, viewing items).
3. Checkout process (order summary, simulation of payment gateway integration).
Project 2 (Python Flask): Blog website. Where user can create account write edit and delete posts.
150 | P a g e
2. Include features for creating, editing, and deleting posts.
3. Allow users to add comments to posts.
4. Implement user authentication and authorization.
5. Use a template for creating blog post layouts.
Functionality:
1. Content Management
1. Create and edit blog posts with titles, content, date and time, and featured images.
2. Organize posts into categories and tags (better to use word cloud).
3. Manage pages (About Us, Contact Us, etc.) with static content.
2. User Management
1. Create different user roles (administrator, editor, author, subscriber).
2. Assign permissions to manage content and website settings.
3. Media Library
1. Upload and manage images, videos, and other media files.
2. Insert media (images, videos, links) into posts and pages.
4. Design Customization
1. Choose and customize a pre-designed template theme.
2. Modify website layout, colors, and fonts.
3. Create custom menus for navigation.
5. Basic Analytics
1. Track website traffic and user behavior using built-in analytics tools.
151 | P a g e
Gen-301 Islamiat & Pak Studies
152 | P a g e
153 | P a g e
154 | P a g e
155 | P a g e
156 | P a g e
CIT-312 Internet of Things (IoT)
Total Contact Hours
Theory 32 T P C
Practical 96 1 3 2
In this course, students will explore the fundamental concepts and capabilities of smart devices and the
physical principles behind sensing technologies. They will investigate key components of IoT systems,
including enabling technologies, architectures, and standards. A focus will be placed on understanding
the IoT protocol stack and addressing constraints and opportunities related to wireless and mobile
networks. Students will also examine the fundamentals of Social IoTs and their implications for social
interactions and data sharing. The course culminates in a hands-on project where students will apply
their IoT knowledge to implement a small-scale IoT solution.
COURSE OUTLINE
Contents Hours
157 | P a g e
2.2. IoT Access Technologies
2.2.1.Physical and MAC layers, topology and Security of IEEE 802.15.4,
802.11ah and Lora WAN
2.2.2. Bluetooth, Wi-Fi and Zigbee
2.3. Network Layer
2.2.1 IP versions, Constrained Nodes and Constrained Networks, 6LoWPAN
2.4. Application Layer Protocols
2.2.2 CoAP, MQTT and AMQP
RECOMMENDED BOOKS
1 IoT Fundamentals: Networking Technologies, Protocols and Use Cases for Internet of Things, David Hanes,
Gonzalo Salgueiro, Patrick Grossetete, Rob Barton and Jerome Henry, Cisco Press, 2017
2 Internet of Things: Architecture, Design Principles and Applications, Rajkamal, McGraw Hill Higher
Education
3 The Internet of Things (The MIT Press Essential Knowledge series) 2nd Edition by Samuel Greengard
158 | P a g e
INSTRUCTIONAL OBJECTIVES
1. Fundamental of Internet of Things (IoT)
1.1 Definition and characteristics of IoT
1.1.1 Define the terms IoT
1.1.2 How Does IoT Work?
1.1.3 Discuss the importance of IoT devices
1.2 Requirements, functionalists, applications and structure of IoT
1.2.1 Discover the fundamentals of IoT and Cloud Computing
1.2.2 Explain the deployment methods of IoT
1.2.3 Describe the structure of IoT
1.2.4 Analyze potential applications of IoT and the cloud
1.3 IoT enabling technologies
1.4 M2M Communication
1.4.1 Introduction to M2M Communication
1.4.2 Difference between IoT and M2M
1.4.3 Define Software Defined Networking (SDN)
1.4.4 Define Network Function Virtualization (NFV) for IoT
1.5 IoT Architecture, Core IoT functional stack, Fog, Edge and Cloud in IoT
1.5.1 Define the terms IoT and Cloud Computing
1.5.2 Describe the evolution that has led to Edge and Cloud Computing
1.5.3 Identify the Components that forms part of IoT Architecture
1.6 Functional blocks of an IoT ecosystem, sensors, actuators and connecting
1.6.1 Determine the most appropriate IoT Devices and Sensors based on Case Studies
1.6.2 Setup the connections between the Devices and Sensors
1.7 Sensing components and devices
1.7.1 Describe the Sensing components and devices
1.7.2 Describe the Sensor modules, nodes and systems
1.7.3 Use visualization techniques to show data generated from the IoT devices
159 | P a g e
2.2.1 Physical and MAC layers, topology and Security of IEEE 802.15.4, 802.11ah
and Lora WAN
2.2.2 Bluetooth, Wi-Fi and Zigbee
2.3 Network Layer
2.3.1 IP versions, Constrained Nodes and Constrained Networks, 6LoWPAN
2.4 Application Layer Protocols
2.4.1 CoAP, MQTT and AMQP
3. IoT Platforms and Supporting Services
3.1 Embedded computing logic, Microcontroller, System on Chips, IoT system building
blocks
3.2 IoT platform overview
3.3 Overview of IoT supported Hardware platforms such as: Raspberry pi, Arduino board
Detail
3.3.1 Introduction to Raspberry Pi interfaces (Serial, SPI, I2C)
3.3.2 Programming Raspberry Pi with Python, other IoT devices
3.4 Real-time systems and embedded software
3.5 IoT supporting services
3.5.1 Computing using a Cloud Platform for IoT/M2M Applications/Services
3.5.2 Implement and secure your own cloud service
3.5.3 Everything as a service and Cloud Service Models
4. IoT Security
4.1 Attack, Defense, and Network Robustness of Internet of Things
4.1.1 Security Issues in the IoT
4.1.2 Security Mechanisms Overview
4.1.3 Traditional vs Lightweight security
4.2 Malware Propagation and Control in IoT
4.3 Privacy Preservation Data Dissemination
4.3.1 Discuss the Authorization Mechanisms for Secure IoT Services
4.3.2 Discuss the Privacy Issues in the IoT
4.3.3 Describe the Role of Authorization
4.4 Trust and Trust Models for the IoT
4.5 Authentication in IoT
4.6 Security Protocols for IoT Access Networks
160 | P a g e
List of Practicals
161 | P a g e
CIT-313 Network & Server Administration
Total Contact Hours
Theory 32 T P C
Practical 192 1 6 3
The Course on Network Administration using Microsoft Windows Server 2016 Operating System aims
to provide students with practical exercise and knowledge on installing and operational administration
of connected system. It covers all major topics of Microsoft Windows Server 2016. This comes with
practical component to complement classroom discussion.
Describe the basic concepts, architecture, organization and operational principles of Windows
Server 2016.
Install and configure Windows Server 2016
Manage the resources network users using Windows Server 2016
Troubleshoot Windows Server 2016 faults and correct them
Run application programs in Windows Server 2016
Demonstrate motivation in managing users in a network
Introduction to DevOps
COURSE OUTLINE
Contents Hours
162 | P a g e
4. Microsoft Windows Server 2016 Network Services 10 Hrs
4.1 Major Network Services in windows server 2016
4.2 Assigning IP Addressing and Configuring
4.3 Domain Name systems
4.4 Installation and Configuring a DNS
4.5 Installation and Configuring DHCP
4.6 Connecting to Networks
4.7 Sharing files, folders and printers
5. Microsoft Windows Server 2016 Active Directory Infrastructure 03 Hrs
5.1 Concepts of forest , Tree domain & Subdomain
5.2 Function and features of an Active Directory
5.3 Installation of Active Directory
5.4 Configuration of Active Directory
5.5 Role of an Active Directory
5.6 Users, Groups, Computers and organizational units in ADDS
6. Introduction to DevOps 07 Hrs
6.1 Introduction to DevOps culture and Process
6.2 DevOps and Software Development Lifecycle
6.3 DevOps Stages
6.4 DevOps culture, collaboration, and team structures
6.5 Continuous Delivery and Deployment (CD/D)
Reference Books.
MCSA Windows Server 2016 Complete Study guide By William Panek
Windows Server 2016 Cookbook By Jordan Krause
Windows Server 2016: Unleashed By Rand Morimoto, Jeffrey Shapiro, Guy Yardeni, Omar Droubi,
Michael Noel, Andrew Abbate, Chris Amaris
163 | P a g e
Instructional Objective
1. Introduction to Networks
1.1 Describe Introduction
1.2 Describe What is a network
1.3 Explain the types of Network
1.4 Describe the major Functions of a Network
164 | P a g e
6. Introduction to DevOps
6.1 Explain the Introduction to DevOps culture and Process
6.2 Benefits of DevOps
6.3 Describe DevOps Main Objectives
6.4 Describe DevOps and Software Development Lifecycle
6.5 DevOps Stages
6.6 Describe DevOps culture, collaboration, and team structures
6.7 Describe Continuous Delivery and Deployment (CD)
165 | P a g e
List of Practical’s
166 | P a g e
CIT-314 Mobile Application Development
Total Contact Hours
Theory 64 T P C
Practical 192 2 6 4
This Flutter course for mobile app development guides students from basic setup to advanced
application deployment, focusing on real-world projects. Participants will learn to create dynamic apps,
such as a food ordering platform and a video chatting service, incorporating essential features like user
authentication, real-time messaging, and payment gateway integration. The curriculum emphasizes
hands-on experience with animations, state management, and backend services like Firebase. Students
will also gain proficiency in using local and cloud storage solutions, generating reports, and integrating
local financial services. By the end of the course, students will be equipped to build, polish, and deploy
feature-rich mobile applications on the popular app stores.
Understand the Flutter framework. Build mobile applications for Android and iOS platforms.
Implement end-to-end app functionalities, including user authentication, real-time messaging,
payment gateway integration, and cloud storage, using Firebase and other back-end services.
Develop skills in creating intuitive and engaging user interfaces, incorporating animations, state
management, and adaptive layouts to enhance the overall user experience.
Execute the process of preparing and deploying mobile applications to the Google Play Store,
including generating build files, managing app assets, and navigating the app submission and
review process.
Gain practical experience in developing complex applications such as food ordering and video
chatting apps, equipping them with the knowledge to tackle real-world mobile development
challenges.
COURSE OUTLINE
Contents Hours
167 | P a g e
2.3 UI Elements
2.4 User Input: Touch, Pinch, Swipe, Gestures, Keyboard Input
5. Layouts 04 Hrs
5.1. Container
5.2. Row
5.3. Column
5.3.1. Stacks
5.3.2. Grid item
5.3.3. Building Basic UI using Widget Library
7. Interactivity 04 Hrs
7.1. Add User Input
7.2. Gesture Detection
7.3. User Touch
8. Navigation 07 Hrs
8.1. Maintain state based on user interaction
8.2. Screen navigation using Navigator + routes
8.3. Create multi-screen app using named routes
8.4. Passing data between screens
9. Animation 05 Hrs
9.1. Adding animation
9.2. Animation library
168 | P a g e
9.3. Implicit and explicit navigation
10. Deployment 06 Hrs
10.1. Prep for deployment on platform stores (App store and Google Play)
10.2. Signing
10.3. Packaging
10.4. Submission
10.5. Best Practices
10.6. Plagiarism in code
10.7. UI or content
10.8. GIT
10.9. Documentation
10.10. Code security
11. Backend 06 Hrs
11.1. Working with local storage (SQLite)
11.2. Firebase
11.3. Authentication using Firebase
11.4. Firestore DB cloud storage
12. Backend 05 Hrs
12.1. API integration
12.2. http request handling in app
13. Backend 02 Hrs
13.1. JSON
13.2. JSON parsing
14. Introduction to Java for Android 07 Hrs
14.1. Syntax
14.2. Control
14.3. Types
14.4. Conditionals
14.5. Functions
14.6. Classes
14.7. Comparison with JavaScript
14.8. Comparison with C++
14.9. Packages and reuse
14.10. Examples of two open source small java apps.
RECOMMENDED BOOK
1. "Flutter for Beginners" by Alessandro Biessek
2. "Flutter in Action" by Eric Windmill
3. "Beginning Flutter: A Hands On Guide to App Development" by Marco L.
Napoli"Pragmatic Flutter" by Priyanka Tyagi
169 | P a g e
INSTRUCTIONAL OBJECTIVES
170 | P a g e
8.4. Passing data between screens
9. Animation
9.1. Adding animation
9.2. Animation library
9.3. Implicit and explicit navigation
10. Deployment
10.1. Prep for deployment on platform stores (app store and google play)
10.2. Signing
10.3. Packaging
10.4. Submission
10.5. Best practices, plagiarism in code, UI or content, GIT, documentation, code
security
11. Backend
11.1. Working with local storage (SQLite)
11.2. Firebase
11.3. Authentication using firebase
11.4. Firestore DB cloud storage
12. Backend
12.1. API integration
12.2. http request handling in app
13. Backend
13.1. JSON
13.2. JSON parsing
14. Introduction to java for android
14.1. Syntax
14.2. Control
14.3. Types
14.4. Conditionals
14.5. Functions
14.6. Classes
14.7. Comparison with JavaScript
14.8. Comparison with C++
14.9. Packages and reuse
14.10. Examples of two open source small java apps.
171 | P a g e
LIST OF PRACTICALS
1. Practical
Setup Flutter development environment
2. Practical
Install GIT:
Download and install git from git-scm.com.
Configure git with your name and email.,
git config --global user.name "Your Name"
git config --global user.email "youremail@edu.com.pk"
Initialize a git Repository ""LAB3""
Create a new directory LAB3 and navigate to it
Initialize the git repository using git init
Design a screen in figma and save to this folder
Check the Status and Log using git status and git log
3. Practical
"Working with git:
Create a new repository (repo) for this lab on github.com
Connect Local Repository to Remote
Add the remote repository to your local git configuration:
git remote add origin https://github.com/yourusername/my-first-git-repo.git
Push your local commits to the remote repository:
git push -u origin master
Clone the repo using git clone on github.com
4. Practical
Collaboration in git:
Create a New Branch using git checkout -b branchname
Design more figma screens and put it in local repo folder
Make changes to a file (e.g., README.md):
Add and commit the changes:
Push the Branch to Remote:
Create a Pull Request (PR) on github:
Merge the PR
5. Practical
Continuous Integration/Continuous Deployment (CI/CD) with GitHub Actions
Make a simple web project for your personal website in a new directory
Initialize a git Repository in the folder
Commit your work, attach to remote and push
Set Up GitHub Actions for CI/CD
create a .github/workflows directory and a new workflow file deploy.yml
name: Deploy to GitHub Pages
172 | P a g e
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
173 | P a g e
Create the Main Game Screen, Add SQLite for Local Storage
Create a Guess model:
class Guess {
final int id;
final int number;
final String result;
Guess({this.id, this.number, this.result});
Map<String, dynamic> toMap() {
return {
'id': id,
'number': number,
'result': result,
};
}
}
class DatabaseHelper {
static final DatabaseHelper _instance = DatabaseHelper._internal();
factory DatabaseHelper() => _instance;
DatabaseHelper._internal();
Database _database;
Future<Database> get database async {
if (_database != null) return _database;
_database = await _initDatabase();
return _database;
}
Future<Database> _initDatabase() async {
String path = join(await getDatabasesPath(), 'guesses.db');
return openDatabase(
path,
onCreate: (db, version) {
return db.execute(
""CREATE TABLE guesses(id INTEGER PRIMARY KEY AUTOINCREMENT, number
INTEGER, result TEXT)"",
);
},
version: 1,
);
}
Future<void> insertGuess(Guess guess) async {
174 | P a g e
final db = await database;
await db.insert('guesses', guess.toMap(), conflictAlgorithm: ConflictAlgorithm.replace);
}
175 | P a g e
integration for cloud storage and authentication, and location API integration.
Step 1: In-Memory Expense Tracking
Setup and Basic UI
- Create a new Flutter project.
- Design a simple UI for adding and viewing expenses (fields: date, amount, description).
- Store expenses in a list in memory.
- Display the list of expenses on the main screen.
Step 2: Local Database Storage with SQLite
Integrate SQLite:
- Add `sqflite` and `path` dependencies.
- Create a SQLite helper class to handle database operations.
- Modify the app to save expenses to a local SQLite database instead of in-memory.
- Implement functions to add, retrieve, update, and delete expenses from the database.
Step 3: Multi-Screen Navigation
Multi-Screen App:
- Create separate screens for adding expenses, viewing expense history, and viewing reports.
- Implement navigation between screens using Flutter's Navigator.
- Pass data between screens as needed.
176 | P a g e
13. Practical
"Employee Attendance app Lab Series: Create a comprehensive attendance tracking app in Flutter,
progressing from basic user time-in/time-out functionality to advanced features including user
management, reporting, admin interface, shift management, alerts, and report exports.
177 | P a g e
reporting. This lab ensures a thorough understanding of building a feature-rich appointment
management application from start to finish.
15. Practical
"Game Lab Series: Chrome browser game like hurdle jump and duck game with a dinosaur character,
with score storage, leaderboard, user auth. Create an engaging and visually appealing dinosaur hurdle
jump and duck game in Flutter, focusing on animations and graphics development along with game
mechanics, score storage, leaderboards, and user authentication. By completing these steps, you'll build
178 | P a g e
a dynamic and visually appealing dinosaur hurdle jump and duck game in Flutter. You'll focus heavily
on animations and graphics development, while also implementing essential game mechanics, scoring,
user authentication, and leaderboards. This lab ensures a thorough and engaging learning experience in
building an animated game from start to finish.
179 | P a g e
- Ensure the game works smoothly on both Android and iOS devices, optimizing animations
and graphics for performance.
16. Practical
"Building a Food Banda Online Food Ordering App Lab Series: Create a comprehensive online food
ordering app for Pakistan's local financial services like JazzCash and EasyPaisa, starting from a simple
customer interface and progressing to advanced features like multiple login roles, item management,
reporting, and payment gateway integration. By completing these steps, you'll build a comprehensive
and fully functional online food ordering app tailored for Pakistan's local financial services. Starting
with a simple customer interface, you'll progress to adding essential features like cart management,
multiple login roles, item and restaurant management, reporting, and integration with JazzCash and
EasyPaisa payment gateways. This lab ensures a thorough understanding of building a feature-rich food
ordering application from start to finish. Git each lab in this series in the same repo.
180 | P a g e
Step 6: Reporting for Admins and Merchants
Generate Reports:
- Create reporting screens for admins and restaurant staff.
- Admin reports should include total orders, revenue, and customer statistics.
- Merchant reports should include order details, item performance, and daily earnings.
181 | P a g e
- Use Firebase Realtime Database or Firestore to track user online/offline status.
- Display the online status of users on the user profile screen.
182 | P a g e
Step 12: User Settings
Implement User Settings:
- Create a settings screen for users to update their profile information and preferences.
- Allow users to toggle notifications and call settings.
183 | P a g e
CIT- 322 Entrepreneurship & Freelancing
Total Contact Hours
Theory 32 T P C
Practical 96 1 3 2
COURSE OUTLINE
Contents Hours
184 | P a g e
3. Technology Startup & Funding Options 04 Hrs
3.1. Explain all critical aspects to draft a comprehensive business plan
3.2. Describe Financial projections and budgeting for IT startups
3.3. Explain pitching and presenting the business plan
3.4. Explain Bootstrapping an ways to self-fund startups.
3.5. What is Angel investors and venture capital?
4. Freelancing 06 Hrs
4.1. What is Freelancing?
4.2. Explain different fields in freelancing
4.3. List down different Freelancing platforms
4.3.1. Describe Personal attitude in Freelancing
4.3.2. How to build Profile on Freelancer.com
4.3.2.1. How to build People per Hour Profile
4.3.2.2. How to write a proposal and cover letter
4.3.3. How to build Profile on Fiverr.
4.3.3.1. How to Create Gigs.
4.4. Introduction to Upwork
4.4.1. How to create Upwork profile.
4.4.2. What are Connects and Membership offers
4.4.3. Differentiate between Hourly and Fixed projects
4.4.4. How to find the right job and understanding the clients demand.
5. Pricing Strategies and Time Management 04 Hrs
1.1 How to determining fair market value
1.2 What are the negotiation techniques for freelancers?
1.3 How to handle project scope and accommodate project changes
1.4 How to create a freelance schedule.
1.5 List down tools for time tracking and project management
1.6 How to Balance multiple projects using Art board
6. Proposal Writing 06 Hrs
6.1. Explain ways of studying client’s requirements
6.2. How to read client Mindset.
6.3. Describe techniques to write a winning proposal
6.4. Explain how to accommodate client requirement.
6.5. How to develop a Methodology
6.6. Explain way to outshine competitors
6.7. Explain and provide Formal Proposal templates.
RECOMMENDED BOOKS
1. User Guide Fiverr
2. User Guide Upwork
3. User Guide Freelancer
185 | P a g e
INSTRUCTIONAL OBJECTIVES
1. Introduction to IT Entrepreneurship
1.1 Explain the fundamental concepts of entrepreneurship in the field of IT Sector
and identify major trends and opportunities.
1.2 Explain essential characteristics and behaviors that contribute to success in IT
entrepreneurship.
1.3 Explain startup ecosystem, including key players, resources and process that
supports IT growth.
1.4 Explain market gaps in IT.
1.5 Explain validation methods like customer feedback, prototyping and testing.
4. Freelancing
3.1 Introduction to Freelancing
3.2 Different fields in freelancing
3.3 Introduction to Freelancing websites
3.5.4 Personal attitude in Freelancing
3.5.5 Profile building on Freelancer.com
186 | P a g e
3.5.6 Profile building on People Per Hour
3.5.7 Writing a proposal and cover letter
3.6 Introduction to Upwork
3.6.1 Upwork profile creation
3.6.2 Connects and Membership offers
3.6.3 Hourly and Fixed projects
3.6.4 Knowing your customers to find the right jobs
6. Proposal Writing
6.1 Study the requirements
6.2 Understand the client Mindset
6.3 Writing a winning proposal
6.4 Understanding of the client's requirements.
6.5 Develop a Methodology
6.6 Outshine Competitors
6.7 Formal Proposal
187 | P a g e
LIST OF PRACTICAL
188 | P a g e
CIT- 343 Microprocessor Fundamentals
Total Contact Hours
Theory 64 T P C
Practical 96 2 3 3
In this course, students will delve into the architecture and organization of the Intel 8086
microprocessor, gaining a comprehensive understanding of its structure and functionality. They will
learn to classify and utilize the microprocessor's instruction set, mastering assembly language
programming through practical application. The course will cover various addressing modes used in
instructions, enabling students to effectively interpret and implement them. Additionally, students will
explore and classify different types of interrupts, understanding their role and management within the
8086 microprocessor system.
189 | P a g e
3.3. Direct Addressing Mode
3.4. Base-Plus-Index Addressing
3.5. Register Relative Addressing
3.6. Base Relative-Plus-Index Addressing
3.7. Program Memory addressing Mode
3.8. Stack Memory-Addressing Mode
4. 8086 Instruction Set 12 Hrs
RECOMMENDED BOOKS
190 | P a g e
INSTRUCTIONAL OBJECTIVES
1. Fundamental Concepts
191 | P a g e
3. Data Addressing Modes
192 | P a g e
6. I/O Interfacing
6.1. Overview of I/O Interfacing
6.2. Define Memory Interfacing, IO Interfacing
6.3. Ways of Communication − Microprocessor with the Outside World
6.3.1. Describe Serial Communication and Parallel Communication interface
6.4. Describe 8279 − Programmable Keyboard interface with 8086
6.5. Describe Intel 8255A − Programmable Peripheral Interface
6.6. Describe Intel 8253 ─ Programmable Interval Timer
6.7. 8257 − DMA Controller
6.8. Describe the Sequence of Operations Performed by a DMA
193 | P a g e
List of Practical
1. Introduction to Flowcharting
2. Algorithm Design Using Flowcharts
3. Assembly Language Program Structure
4. Introduction to MASM (Editor, Assembler, Linker, Debugger, Debugger Function).
5. Introduction How to Create A Source Code
6. Understanding the Registers of 8086 Microprocessor.
7. Use of 8086 Instructions.
8. Demonstrating MOV Instruction.
9. Demonstrating XCHG Instruction.
10. Demonstrating PUSH Instruction.
11. Demonstrating POP Instruction.
12. Demonstrating PUSHF Instruction.
13. Demonstrating POPF Instruction.
14. Demonstrating ADD Instruction.
15. Demonstrating SUB Instruction.
16. Demonstrating MUL Instruction.
17. Demonstrating DIV Instruction.
18. Demonstrating INC Instruction.
19. Demonstrating DEC Instruction.
20. Demonstrating NOT Instruction.
21. Demonstrating AND Instruction.
22. Demonstrating OR Instruction.
23. Demonstrating XOR Instruction.
24. Understanding the Addressing Modes of 8086 Microprocessor.
25. Implementing the Immediate Addressing Modes of 8086 Microprocessor.
26. Implementing the Register Addressing Modes of 8086 Microprocessor.
27. Understanding the Memory Addressing Mode.
28. Understanding Memory Direct Addressing Mode.
29. Using Memory Direct Addressing Mode to Transfer Data (5h, 10h, 15h, 20h, 25h) to
Memory.
30. Using Memory Direct Addressing Mode to Transfer Data (5h, 10h, 15h, 20h, 25h) from
Memory to Register.
31. Using Register Indirect Addressing Mode to Transfer Data (5h, 10h, 15h) Memory to
Register.
32. Write a Program For Ascending Order.
33. Write a Program For Descending Order.
34. Using Trainer and Instructions of Assembly Language Control Traffic Light.
194 | P a g e
CIT-372 UI/UX Design
Total Contact Hours
Theory 32 T P C
Practical 96 1 3 2
This course introduces students to the exciting world of UI/UX Design, focusing on hands-on learning
with Figma, a popular design tool. Through practical exercises and projects, students will gain the
foundational skills to create user-friendly and visually appealing interfaces for websites and
applications.
COURSE OUTLINE
Contents Hours
1. Introduction to UI/UX Design 04 Hrs
1.1. What is UI/UX Design? (User Interface & User Experience)
1.2. Why is UI/UX Design important? (Impact on users & businesses)
1.3. Importance of User-Centered Design
2. The Design Process 04 Hrs
2.1. Empathize
2.2. Define
2.3. Ideate
2.4. Prototype
2.5. Test
3. User Interface (UI) Design 10 Hrs
3.1. Design Principles (Balance, Contrast, Hierarchy, etc.)
3.2. UI Elements (Buttons, Forms, Icons, etc.)
3.3. Typography and Color Theory
4. User Experience (UX) Design 10 Hrs
4.1. User Research (Understanding User Needs)
4.2. User Personas (Creating fictional representations of target users)
4.3. User Flows & Sitemaps (Visualizing user journeys & content structure)
4.4. Basic Usability Testing (Identifying user pain points)
195 | P a g e
5. Wireframing & Prototyping 04 Hrs
5.1. Wireframing - Creating low-fidelity representations of layouts.
5.2. Prototyping - Simulating app or website functionality.
Reference books
● 2024 - 2025 Newbies Guide to UI/UX Design Using Figma - Anthony E Sanchez
196 | P a g e
INSTRUCTIONAL OBJECTIVES
1. Introduction to UI/UX Design
1.1. Explain What is UI/UX Design? (User Interface & User Experience)
1.2. Explain Why is UI/UX Design important? (Impact on users & businesses)
1.3. Explain Importance of User Centered Design
197 | P a g e
List of Practical’s
198 | P a g e
Establish a Design System:
● Color Palette: Choose a color palette that reflects the railway brand
identity.
● Typography: Select legible fonts for headings, body text, and buttons.
● Spacing: Determine consistent spacing units for elements.
● Iconography: Design or select icons for key functionalities.
Create Layouts:
● Design the layout for each screen, considering content hierarchy and
visual balance.
● Utilize Figma's Auto Layout feature to create responsive layouts that
adapt to different screen sizes.
Implement Responsiveness:
● Design the app to function effectively on various screen sizes (small,
medium, large).
● Prioritize essential content on smaller screens and provide details on
larger screens.
● Use breakpoints to define layout changes at specific screen widths.
8. Railway Ticketing App - Dark Mode
a. Make a copy of the Railway Ticketing APP and make the following changes
● Dark Mode: Change the color scheme including the design of any icons
to dark mode.
b. Ensure that the APP displays perfectly in both Normal Mode and Dark Mode.
9. Railway Ticketing APP - Icons
a. Now design custom icons for the Railway Ticketing APP
b. The icon should be developed for the following:
i. Home vii. Notifications
ii. Search viii. Payment
iii. Train ix. PNR status
iv. Ticket x. Location
v. Calendar xi. Clock
vi. User profile xii. Information
c. Instructions:
Choose an Icon Style: Decide on a consistent icon style (outlined, filled, flat,
etc.) that aligns with the app's overall design aesthetic.
Create Icon Sketches: Begin by sketching out your icon ideas on paper to
explore different concepts.
Digitalize Icons: Use Figma to create digital versions of your icon sketches.
Refine and Iterate: Continuously refine your icons based on feedback and
usability considerations.
Ensure Consistency: Maintain consistency in icon size, style, and color palette
199 | P a g e
throughout the set.
d. Ensure that you create logos for both normal and dark modes.
10. Railway Ticketing Company - Logo
a. Design the logo for the Railway Ticketing Company
b. The logo needs to be added to the Railway Ticketing APP
c. Instructions:
Understand the Brand: Research the railway company's values, target
audience, and brand personality.
Brainstorm Concepts: Generate ideas for logo concepts based on the
company's identity and the railway theme. Consider elements such as:
i. Trains, locomotives, or tracks
ii. Speed, travel, or journey
iii. Reliability, safety, or comfort
iv. Modernity or heritage
Sketching: Create rough sketches of potential logo designs.
Digitalization: Use Figma to create digital versions of selected sketches.
Typography: Choose a suitable font that complements the logo concept and
reflects the company's personality.
Color Palette: Select colors that evoke the desired emotions and align with the
brand identity.
Logo Variations: Create different versions of the logo for various applications
(horizontal, vertical, black and white).
Testing and Refinement: Seek feedback on the logo designs and make
necessary adjustments.
11. Online Darzi Web APP - Wireframes
a. Create Wireframes for the Railway Ticketing APP that has following screens:
i. Homepage: This is the first impression of your website. It should
clearly communicate the services offered, include a strong call to action
(e.g., "Book Now"), and showcase customer testimonials or before-and-
after images.
ii. About Us: This page should introduce the business, its mission, values,
and team. Consider including information about the experience and
expertise of the tailors.
iii. Services: Clearly outline the services offered, such as stitching,
alterations, embroidery, etc. Include detailed descriptions, pricing
information, and images of finished products.
iv. Portfolio: Showcase a gallery of the best work to demonstrate the
quality of craftsmanship. Categorize the portfolio by service type or
clothing item.
v. Pricing: Clearly display the pricing structure for different services.
200 | P a g e
Consider adding a pricing calculator for custom orders.
vi. Contact Us: Provide multiple contact options (phone, email, address,
social media) and a contact form for inquiries.
vii. Booking: A user-friendly booking form that collects customer details,
order specifications, and preferred delivery or pickup options.
viii. Order Tracking: A page where customers can track the status of their
orders.
ix. FAQs: Address common customer questions and concerns.
b. Resource: https://www.figma.com/templates/wireframe-kits/
12. Online Darzi Web APP - Actual Screens
a. Now Create Actual Screens for the Online Darzi Web APP
b. Use existing icons and company logo taken from the internet as you like
c. Instructions:
Establish a Design System:
● Color Palette: Choose a color palette that reflects the railway brand
identity.
● Typography: Select legible fonts for headings, body text, and buttons.
● Spacing: Determine consistent spacing units for elements.
● Iconography: Design or select icons for key functionalities.
Create Layouts:
● Design the layout for each screen, considering content hierarchy and
visual balance.
● Utilize Figma's Auto Layout feature to create responsive layouts that
adapt to different screen sizes.
Implement Responsiveness:
● Design the app to function effectively on various screen sizes (small,
medium, large).
● Prioritize essential content on smaller screens and provide details on
larger screens.
● Use breakpoints to define layout changes at specific screen widths.
13. Online Darzi Web APP - Responsive
a. Make a copy of the Railway Ticketing APP and make the following changes
b. Ensure that the APP adapts seamlessly to different screen sizes
c. Test your APP with the following screen sizes:
i. Desktop: 1280 x 720, 1920 x 1080
ii. Tablet: 601 x 962, 1280 x 800
iii. Mobile: 360 x 640, 414 x 896
d. Make modifications to adjust the layout for all sizes.
201 | P a g e
14. Online Darzi Web APP - Dark Mode
a. Make a copy of the Online Darzi Web APP and make the following changes
● Dark Mode: Change the color scheme including the design of any icons
to dark mode.
b. Ensure that the APP displays perfectly in both Normal Mode and Dark Mode.
15. Online Darzi Web APP - Icons
a. Now design custom icons for the Online Darzi Web APP
b. The icon should be developed for the following:
i. Home viii. Account
ii. Services (if applicable)
iii. Portfolio ix. Search
iv. About Us x. Menu (for mobile
v. Contact Us view)
vi. Booking c. Instructions:
vii. Cart (if applicable)
Choose an Icon Style: Decide on a consistent icon style (outlined, filled, flat,
etc.) that aligns with the app's overall design aesthetic.
Create Icon Sketches: Begin by sketching out your icon ideas on paper to
explore different concepts.
Digitalize Icons: Use Figma to create digital versions of your icon sketches.
Refine and Iterate: Continuously refine your icons based on feedback and
usability considerations.
Ensure Consistency: Maintain consistency in icon size, style, and color palette
throughout the set.
d. Ensure that you create logos for both normal and dark modes.
16. Online Darzi Company - Logo
a. Design the logo for the Online Darzi Company
b. The logo needs to be added to the Online Darzi Web APP
c. Instructions:
Understand the Brand: Research the railway company's values, target
audience, and brand personality.
Brainstorm Concepts: Generate ideas for logo concepts based on the
company's identity and the railway theme. Consider elements such as:
i. Trains, locomotives, or tracks
ii. Speed, travel, or journey
iii. Reliability, safety, or comfort
iv. Modernity or heritage
Sketching: Create rough sketches of potential logo designs.
Digitalization: Use Figma to create digital versions of selected sketches.
202 | P a g e
Typography: Choose a suitable font that complements the logo concept and
reflects the company's personality.
Color Palette: Select colors that evoke the desired emotions and align with the
brand identity.
Logo Variations: Create different versions of the logo for various applications
(horizontal, vertical, black and white).
Testing and Refinement: Seek feedback on the logo designs and make
necessary adjustments.
203 | P a g e
CIT-381 Software Quality Assurance
Total Contact Hours
Theory 0 T P C
Practical 96 0 3 1
The course is structured to assist students in learning key topics in Software Quality Assurance, such as
software testing objectives, processes, criteria, strategies, and methodologies. The course also covers
subjects like how to create test cases and test data, how to execute testing operations, how to manage
software problems and defects, software test automation using real world examples, and how to
perform software security and performance testing.
Learn the concept and capabilities of software testing and software quality
Assurance principles
Prepare test case and test suites for completely testing all aspects of a System Under Test
(SUT)
Compile findings of a quality assurance cycle
Carry out inspections and carry out testing in a production environment
COURSE CONTENTS
204 | P a g e
LIST OF PRACTICALS
205 | P a g e
CIT-392 Project
Total Contact Hours
Theory 0 T P C
Practical 192 0 6 2
This proctored hands-on course guides participants through the end-to-end process of IOT/Web/ Mobile
app development. Starting from idea discussion and research, students will engage in iterative design
and implementation, incorporating continuous feedback and version control. Participants will develop a
fully functional application, refine UI/UX, and ensure thorough testing and bug fixing. The course
culminates with a polished project presentation, ready for industry review. This will be conducted in
teams of 3 to 4 persons.
At the end of the course, the students are expected to be able to exhibit
Develop and refine app ideas through research and discussion.
Design user interfaces with iterative feedback and improvement.
Architect and implement backend systems, including database design and third-party
API integration.
Utilize version control (GIT) for project management and collaboration.
Create and present working prototypes and progressively enhance functionality.
Conduct thorough testing and bug fixing to ensure a stable, user-friendly application.
Improve the app's UI/UX based on testing and feedback.
Prepare and deliver a final project presentation ready for industry review.
IOT Based Project
Project Proposal with Write Up
Evaluation of Project Proposal for Feasibility
Consultation & Present
Project Activities
1. Proposal
Define the project's purpose and objectives.
Outline the scope and deliverables
Identify users and their expectations.
2. Planning
Develop a detailed project plan with tasks and deadlines.
Allocate resources (e.g., tools, team members).
3. Research
Conduct market research.
Gather requirements from user.
Analyze existing solutions (web/mobile/IOT)
206 | P a g e
4. UI and Design
Create wireframes for the UI.
Design the overall system architecture.
5. Prototype
Build an initial prototype to demonstrate main features.
6. Development
Implement the project in phases.
Integrate components and features step by step.
Conduct weekly team meetings with teacher to track progress.
7. Testing
Perform automated and manual testing.
Identify and resolve bugs or issues.
8. Review
Gather feedback from teachers, students and users
Make revisions based on feedback and test results.
9. Final Evaluation
Assess the final product against the project goals.
Compile a final project report detailing outcomes
10. Presentation
Prepare a comprehensive presentation of the project.
Highlight key features, achievements, and challenges.
Deliver the presentation to evaluators.
207 | P a g e
MINIMUM QUALIFICATION OF TEACHERS/ INSTRUCTORS
208 | P a g e
DETAIL OF COMMITTEE
209 | P a g e