HND SWD Curiculum
HND SWD Curiculum
CURRICULUMANDCOURSE SPECIFICATIONS
SEPTEMBER,2023
www.nbte.gov.ng
1
Foreword
The Higher National Diploma (HND) Software and Web Development curriculum is designed to be used by training institutions
toproducemanpower with skills for the development and deployment ofSoftware and Web Solutions.
There is therefore the need to produce professionalpractitioners with good ethics and prospects for career progression, through the
acquisition of desirable knowledge and skills. This necessitated theproduction ofthisNationalCurriculum.
It is my belief that this curriculum and course specifications, which is the minimum required to produce technologists with soundknowledge
and skills in Software and Web Development, if properly implemented with the required resources along with qualified candidates being
admittedintotheprogramme,willleadtotheproductionofcompetentandskilledtechnologists.
I sincerely appreciate all those who made the development of this curriculum possible. The invaluable contributions of
allthemembersofthecommitteeandresourcepersonsduringthe pre-critique and nationalcritiqueworkshopsareappreciated.
2
GENERAL INFORMATION
2.1 GOAL:To enable students acquire knowledge and skills for the development and deployment of software and web solutions.
(b) Lower credit or above inND computer Science or National Innovation Diploma (NID) Computer Software Engineering orNigerian Skills Qualification
3
(NSQ) level 3-5
(c) In exceptional cases, ND diplomates with a pass (CGPA of 2.0-2.49) in the ND examination with two or more years of cognate experience in the specific
field may be considered for admission into the HND SWD programme
6.0.ACCREDITATION
Each Programme offered at the HND level shall be accredited by the NBTE before the Diplomates can be awarded the Higher NationalDiploma certificates.
Details about the process of accrediting a Programme for the award of the HND are available from the Executive Secretary, National Board for Technical
Education, Plot B, Bida Road, P.M.B. 2239, Kaduna, Nigeria.
7.0 CONDITIONS FOR THE AWARD OF HND SOFTWARE AND WEB DEVELOPMENT
Institutions offering this Programme will award the HND certificate to candidates who successfully completed the Programme after passing prescribed course
work, examinations, Project and NBTE approved certification. Such candidates should have completed a minimum of 90 credit units.
A candidate with Recognition of Prior Learning (RPL) equivalent and NSQ can proceed to graduate upon achieving the required credit units specified above.
4
7.1 GRADING OF COURSES
Higher National Diploma Certificates shall be awarded based on the following classifications:
5
9.0 GUIDANCE NOTES FOR TEACHERS OF THE PROGRAMME
The new curriculum is drawn in unit courses. This is in keeping with the provisions of the National Policy on Education which stresses the need to introduce the
semester credit units which will enable a student who so wish to transfer the units already completed in an institution of similar standard from which he is
transferring.
As the success of the credit unit system depends on the articulation of programmes between the institutions and industry, the curriculum content has been
written in behavioral objectives, so that it is clear to all, the expected performance of the student who successfully completed some of the courses or the
diplomates of the programme. There is a slight departure in the presentation of the performance-based curriculum which requires the conditions under which
the performance is expected to be carried out and the criteria for the acceptable levels of performance. It is a deliberate attempt to further involve the staff of the
department teaching the programme to write their own curriculum stating the conditions existing in their institution under which the performance can take place
and to follow that with the criteria for determining an acceptable level of performance.
The Academic Board of the institution may vet departmental submission on the final curriculum. Our aim is to continue to see to it that a solid internal
evaluation system exists in each institution for ensuring minimum standard and quality of education in the programmes offered throughout the Technical and
Vocational Education (TVE) system. The teaching of the theory and practical work should, as much as possible, be integrated. Practical exercises, especially
those in professional courses and laboratory work should not be taught in isolation from the theory. For each course, there should be a balance of theory to
practical in the ratio of 40:70.
6
TABLE OF CONTENTS
YEAR ONE SEMESTER ONE COURSES ................................................................................................................. Error! Bookmark not defined.
7
Data Communication and Networks ............................................................................................................................ Error! Bookmark not defined.
Python Programming................................................................................................................................................................................................ 88
YEAR TWO SEMESTER ONE COURSES ................................................................................................................ Error! Bookmark not defined.
8
Front End Development II .......................................................................................................................................... Error! Bookmark not defined.
List of Tools/Equipment for HND Software and Web Development ...................................................................... Error! Bookmark not defined.66
9
HIGHER NATIONAL DIPLOMA IN SOFTWARE AND WEBDEVELOPMENT
YEAR I SEMESTER I
Total 18 17 25 35
10
HIGHER NATIONAL DIPLOMA IN SOFTWARE AND WEB DEVELOPMENT
YEAR I SEMESTER II
11
HIGHER NATIONAL DIPLOMA IN SOFTWARE AND WEB DEVELOPMENT
YEAR II SEMESTER I
12
HIGHER NATIONAL DIPLOMA IN SOFTWARE AND WEB DEVELOPMENT
YEAR II SEMESTER II
2. SWD 422 2 1 2 3
Ethical and Professional Practice in SWD
Total 10 15 17 25
13
YEAR I SEMESTER I
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Operating System COURSE CODE:SWD311 CONTACT HOURS: 4hrs
GOAL: This course is designed to acquaint students with knowledge and skills in Operating System
GENERAL OBJECTIVES: On completion of this course the student should be able to:
1. Comprehend the Fundamentals of Operating Systems.
2. Understand Linux and its basic usage
3. Know User and File Management
4. Understand Process Management
5. Comprehend Memory Management and Virtualization
6. Understand Networking and Communication
14
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Operating System COURSE CODE:SWD311 CONTACT HOURS: 4hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: I SEMESTER: I PRE-REQUSITE: PRACTICAL:2
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to acquaint students with knowledge and skills in Operating System
GENERAL OBJECTIVE 1.0: Comprehend the Fundamentals of Operating Systems
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-2 1.1 DefineOperatingSystem(OS) Describe OS Virtualization Install virtualization Guide Students
1.2 Explain the types of Operating System. and its software softwarewithdifferent on how to:
1.3 Explain the Evolution of OS Evolution, Operating Systems
the types of Operating Install
1.4 List the Importance and OS such as: System ISO files Manipulate User Account virtualization
features ofOS, etc. Microsoft Management. softwarewithd
1.5 Describe OS, it‘s Windows, Presentationpack ifferent
modeofoperation and the AppleMacOS age Create, Delete, Copy and Operating
architecture , Linux: Move Files and Directories Systems
Linux MultimediaProj using different OSs.
Distributions Red ector Create,
15
hat Use Task Manager / modify, and
and Text Books Activity Monitor to viewdelete user
1.6 Explain System calls and APIs in terms
Embedded Systems Lecture Notes and monitor system accounts.
of it‘s characteristics and examples
Explain the resources, running Understand
Importancean processes etc. user
d features privileges and
ofOS. Practice basic Command- experiment
Describe OS Line Interface (CLI): with different
into batch, user roles.
real
time,timeshar Create, rename, move, Create, Delete,
ing and delete files and Copy
andnetworkin folders on your Windows and Move
g operating system. Explore Files and
environment. different file attributes Directories
Describemod and permissions. using Windows
eof operation OS/Linux
and the
Architecture Use the built-
of OS in task
manager
(Windows) or
(Monolithic, Micro- Activity
kernel, Monitor
Layered Kernel) (macOS/Linu
x) to monitor
system
• Discuss resources,
System calls view running
and processes, and
APIs in terminate
16
terms of its unresponsive
characteristics and applications.
examples
Practice basic
command-line
operations.
Navigate
directories,
list files,
copy, move,
and delete
files using
commands
like ls, cd, cp,
mv, and rm.
Create,
rename,
move, and
delete files
and folders on
your
Windows
operating
system.
Explore
different file
attributes and
permissions.
17
GENERAL OBJECTIVE: 2.0 Understand Linux and its basic usage
3-4 2.1 Define Linux • Explain Computer Analyze real-world Guide Students
Operating System Linux System projects embracing the on
Operating Open Source Philosophy how to:
2.2 State the history and evolution of
System Internet PC
Linux
Loaded Examine the use of GPL Examine the
2.3 Explain why Linux isEverywhere • Describe the withvirtualizati in notable software use of GPL in
2.4 Describe the Open Source Philosophy Open projects notable
on
and the GNU General Public License Source software
software
(GPL) Philosophy Compare popular Linux projects
2.5 Describe Linux Distributions and such as: Presentationpac distributions and their use
Package Management System Free kage cases. Identify and
2.6 Explain Installation Redistributi Identify specific use cases Compare
Process (dual-boot or on, Access MultimediaProj for different distributions popular Linux
Virtual Machine set up) to Source ector distributions
2.7 Describe the basic Code, Utilize a package and their use
Linux commands Technology Linux manager to install and cases.
and command-line interface (CLI) Neutrality, Distribution update software
2.8 Describe File Transparenc (Distro) eg Utilize a
System hierarchy and Navigation y etc Ubuntu, Fedora Diagnose and address package
2.9 Explain the usage of ―Getting Help‖ etc., issues with package manager to
• Explain repositories and apply install and
Linux Installation package management update
Distribution Media, commands effectively software
and
PackageMan Text books Set up a basic Linux Set up a basic
agement networking environment Linux
Marker/Marker networking
• Describe the Board Experiment with help- environment
Installation related commands
Process and Experiment
18
the basic Explore commands to with help-
Linux search for commands related
Command- based on keywords etc. commands like
liner Interface ‗info‘, which
provides
• Explain the comprehensive
File System documentation
hierarchy and for some
Navigation, commands and
topics.
Describe
―Getting
Help‖ eg: Explore
Introduction, ‗apropos‘ or
Man Pages, ‗whatis‘
Finding commands to
Commands search for
and commands
Documentati based on
on, Info keywords.
Documentati Practice using
on etc the ‗—help‘
option with
various
commands to
access built-in
command-line
documentation.
For example,
‗ls –help‘ or
‗mkdir –help‘.
19
GENERAL OBJECTIVE: 3.0 User and File Management
5-6 1 Describe user accounts and Groups Describe user Computer Configure user Guide Students
account such Hardware, authentication and on
3.2 Explain user authentication, Password as: permissions how to:
Policies, file permissions and ownership. Username,Pa Linux
ssword,Home Distribution Create, Delete, Copy Configure user
3.3 Explain the File manipulation and basic Directory,Ac (Distro) e.g. andMove Files and authentication
text editing cess Ubuntu, Fedora Directories and
Privileges,Per etc., permissions
sonal Settings Navigate,Move,
and Resource Installation Search and Replace using Create,
Usage. Media text editors. rename, move,
User Groups and delete files
such as: Primary Marker Board Create and Edit Scripts and folders on
Group, your operating
Secondary Groups, Text books Set up file sharing system.
Access between twocomputers.
Control etc. Explore
Share a folder different file
Explain from one system and attributes and
Userauthentic access it from another. permissions.
ation,
Password Use Text
Policies, File Editors
permissions Navigation
20
and and
ownership Movement
Search and
Describe File Replace.
Manipulation
and basic text Creating and
editing such Editing Scripts
as:Copying
and Moving Set up file
Files,Changin sharing
g between two
Permissions, computers
Formatting using protocols
and Indentation, like SMB
Inserting and (Server
Deleting Text Message
etc. Block) or NFS
(Network File
System).
7-9 1 Explain processes and Describe Multimedia Monitor and control Guide
threads Processes and Projector processes using Linux Student how
4.2 Explain Process states and threads, and Windows tools to:
management commands. Describe Textbooks,
4.3 Explain Process process states Implement and analyse Monitor and
Scheduling andPriorities,Process Creation and Online Articles
different process control
andTermination, Concurrency and Management and Tutorials. scheduling algorithms processes
21
Parallelism and Inter- command, and manage process using Linux /
process Communication(IPC) Explain Video Lectures priorities Windows
4.4 ExplainDeadlock Handling, Load process and Courses. tools
Balancing and ResourceManagement Scheduling Create, terminate, and
4.5 Explain Security and Isolation considering Computer monitor processes. Implement
factors like: System and analyse
Scheduling different
with I/O Marker process
requirement scheduling
and Marker board algorithms
Scheduling and manage
without I/O process
requirement, priorities
Discuss
process
Create,
priority,
terminate,
communicati
and monitor
on delays,
processes;
and fairness
across
networked Create a
machines. parent and
child process
Describe that
Concurrency, communicate
Parallelism, by sending
Process messages or
Creation and data between
Termination, them.
Inter Process
Communicati
22
on etc.
Describe the
concept of
Deadlock
E.g. Resource
Allocation
Graph
(RAG),
Deadlock
Detection,Ti
meouts and
Aborts,
Resource Pre-
emption and
Distributed
Deadlock
Detection.
GENERAL OBJECTIVE: 5.0 Memory Management and Virtualization
10-12 5.1 Describe the overview of memory Describe Computer Capture and analyze Guide
Management Memory system, network traffic Students on
Management how to:
5.2 Explian Virtual memory and Paging with respect Internet Set up network services
to: Memory connectivity (DNS, DHCP) Capture and
5.3 Explain Swap space Configuration Hierarchy, LAN analyze
Memory Perform subnetting, network traffic
5.4 Describe memory Virtualization Allocation, Multimedia configure IP addresses and
Memory routing. Set up network
Protection, Projector services (DNS,
23
Virtual Textbooks, DHCP) and
Memory, Online Articles Use network utilities and Configure IP
Swapping, commands to diagnose, addresses,
Paging, Cheat Sheets troubleshoot, and manage subnetting, and
Demand and Quick network connectivity routing
Paging, Page References issues
Replacement Use network
Algorithms Practical Labs Configure firewalls, utilities and
and and Simulators. analyze network traffic commands to
Fragmentatio patterns, and enhance diagnose,
n. ping, traceroute, network security using troubleshoot,
Wireshark, Linux tools. and manage
Describe the etheral and network
concept of packet tracer Use the ping command to connectivity
virtualization check the reachability of a issues
remote host and measure
round-trip latency Configure
firewalls,
Check Network Ports and analyze
Analyse Network Traffic network traffic
using Wireshark patterns, and
enhance
network
Set Up a Basic Web Server security using
with HTTP Linux tools
Check
Network Ports
and
Analyse
Network
Traffic using
Wireshark
Set Up a Basic
Web Server
with HTTP
Test HTTPS
Connections
13-15 6.1 Explain Networking Protocols and Describe OSI Model. Computer Capture and analyze Guide Students
Stacks system, network traffic on how to:
6.2 Explain IP Addressing Describe IP
and Subnetting Addressing, (IPv4& Internet Set up network services Capture and
IPv6) connectivity (DNS, DHCP) analyze
6.3 Explain Sockets, Socket LAN network traffic
25
APIs, Network Utilities Describe Network Perform subnetting,
and Commands Utilities and Multimedia configure IP addresses and Set up network
Commands routing. services (DNS,
6.4 Describe Firewalls and Projector DHCP) and
Security Explain the Key Textbooks, Configure IP
6.5 Explain Network Functions of Online Articles Use network utilities and addresses,
Monitoring and Firewalls, Types of commands to diagnose, subnetting, and
Analysis Firewalls, Security Cheat Sheets troubleshoot, and manage routing
6.6 Describe networking Mechanisms, and Quick network connectivity
troubleshooting tools and FirewallRules and References issues Use network
techniques Importance of utilities and
6.7 Describe APIs for Firewalls in Security Practical Labs Configure firewalls, commands to
Communication and Simulators. analyze network traffic diagnose,
6.8 Describe Security Describe Network patterns, and enhance troubleshoot,
Protocols,Web Monitoring and ping, traceroute, network security using and manage
Communication, and Analysis Wireshark, Linux tools. network
Real-Time etheral and connectivity
Communication packet tracer Use the ping command to issues
Discuss Networking check the reachability of a
troubleshooting tools remote host and measure Configure
and techniques round-trip latency firewalls,
analyze
Describe APIs for Check Network Ports and network traffic
Communication such Analyse Network Traffic patterns, and
as Winsock API using Wireshark enhance
inWindows, C and network
POSIX API in Linux security using
or the Berkeley Set Up a Basic Web Server Linux tools
Sockets API in Unix- with HTTP
like Systems Use the ping
command to
26
Describe Security Test HTTPS Connections check the
protocols such as reachability of
SSL/TLS, Web a remote host
Communication such and measure
as HTTP and round-trip
HTTPS, Web APIs latency
and Real-
Time Check
Communication Network Ports
and
Analyse
Network
Traffic using
Wireshark
Set Up a Basic
Web Server
with HTTP
Test HTTPS
Connections
27
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Database Design I COURSE CODE: SWD312 CONTACT HOURS: 4hrs
28
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Database Design I COURSE CODE:SWD312 CONTACT HOURS: 4hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: I SEMESTER: I PRE-REQUSITE: PRACTICAL:2
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to introduce student to computer database design
GENERAL OBJECTIVE 1.0: Understand the organizational information need and database concepts
Explain database
administrator and
users.
GENERAL OBJECTIVE: 2.0 Understand the various types of database models
3-4 2.1 Explain relational databasemodels Explain the White board, Design and implement Guide Explain different
basic concepts PCs/Laptops, various types of students to: types of database
2.2 Explain hierarchical database model ofrelational Network/ databases Design models
database model. Internet, models Relational,
Multimedia, hierarchical
2.3 Explain Network database model
Explain the Database and network
software and flip
basic concepts database
chart
of hierarchical models.
database model
30
3.1 Explain the concept of E-R, entity sets, Describe the White board, Design and implement E- Explain entity
entity PCs/Laptops, R database schema and Guide
basic concepts set and entity
relationship, Network/ reduce the E-R schema students to
of E-R relationship
weak entity Internet, into table. design and
diagram
sets. Multimedia, implement
Explain entity
3.2 Explain E-R database schema Database E-R
set and entity Explain E-R
3.3 Explain reductionof E-R schema into software and flip database
relationship database schema
tables chart schema and
diagram
White board, reductionof
PCs/Laptops, Give examples
E-R schema
Explain weak entity Network/ of E-R
into table
sets Internet, database
Multimedia, schema
Discuss the design of Database
E-R database schema software and flip
chart
Explain
reduction of
E-R schema
into tables
General Objective 4.0: Understand the design of relational database
7 4.1 Explain pitfalls in relational-database Explain the pitfalls in White board, Design and implement Guide students Explain
design relational database PCs/Laptops, relational database and to accomplish pitfalls in
design Network/ normalize it the design of relational
4.2 Explain Decomposition and Internet, relational database
Normalization Explain Multimedia, Design and implement database and design
4.3 Explain domain-key normal form decomposition and Database relational database and normalize it
4.4 Review alternative approaches to normalization software and flip Describe
normalize it
database design chart database
31
Explain domain-key White board, Guide students decompositio
normal form. PCs/Laptops, to accomplish n and
Network/ the design of normalizatio
Discuss the Internet, relational n
alternative Multimedia, database and Explain domain-
approaches to Database normalize it key normal form
database design software and flip
chart Explain
Guide students
alternative
to design a
approaches to
database using
database design
alternative
approaches
GENERAL OBJECTIVE: 5.0 Understand structured query language (SQL)
9 - 12 5.1 Explain the background of SQL Discuss the White board, Use SQL commands Guide students Explain the
background of SQL PCs/Laptops, in the use of concept of SQL
5.2 Explain the basic structure and syntax of Network/ Use SQL commands basic SQL
SQL Discuss the syntax Internet, commands Explain nested
5.3 Explain nested sub-queries and basic structures Multimedia, Create views using SQL sub-queries
of SQL Database commands Guide students
5.4 Explain derived relations Describe nested sub- software and flip in the use of Describe derived
chart Create and alter database SQL relations
queries
5.5 Explain views White board, schemas commands
5.6 Explain joined relations PCs/Laptops, Explain views
Explain derived Network/
relations and views Internet, Guide students
5.7 Explain data definition language and Describe joined
to create views
embedded SQL Multimedia, relations
Explain views and Database using SQL
Explain data
how databases can be software and flip commands definition
modified chart language and
32
Discuss joined White board, Guide students embedded SQL
relations PCs/Laptops, to create and
Network/ alter database
Describe Internet, schemas
implementation and Multimedia,
data definition Database
language and software and flip
chart
embedded SQL
White board,
PCs/Laptops,
Network/
Internet,
Multimedia,
Database
software and flip
chart
GENERAL OBJECTIVE: 6.0 Comprehend database systems architecture
13 - 15 6.1 Define centralised systems Explain centralized White board, Demonstrate database Guide students Explain
systems PCs/Laptops, systems architecture to demonstrate centralized
6.2 Explain client-server systems Network/ Create a scenario database systems
6.3 Explain parallel systems Explain client-server Internet, based analysis of systems
6.4 Explain distributed systems and network systems Multimedia, parallel systems architecture Describe client-
types Database such as server systems
software and flip Create a scenario based centralized and
Explain parallel with example
chart analysis of distributed client server
systems Networked PC in
network systems systems
a lab loaded with
White board,
Explain distributed database packages
PCs/Laptops, Guide
33
and networked Network/ students to Explain
system types Internet, demonstrate distributed
Multimedia, a scenario systems and
Differentiate Database based network types
between distributed software and flip analysis of
chart parallel
systems and
networked systems systems
Guide students
to demonstrate
a scenario
basedanalysis
of distributed
network
systems
34
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: C++ Programming COURSE CODE: SWD313 CONTACT HOURS: 5hrs
GOAL: This course is designed to enable students to acquire knowledge and Skills in OO Programming Using C++ Language
GENERAL OBJECTIVES: Upon completion of this course, the student should be able to:
1. Understand the basics of computer programming, variables, comments, basic I/O operations.
2. Understand flow control (if-else, switch; loops) and data aggregates
3. Understand extending expressive power: pointers, functions, and memory
4. Understand accessing data: arrays of pointers, conversions, strings, namespaces, and exceptions
5. Know object-oriented programming concepts (classes and objects)
6. Know the concept of inheritance, encapsulation, polymorphysm and Abstraction.
7. Know the concept of exceptions
8. Comprehend operators and enumerated types
9. Understand how to apply C++ programming to database development
35
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: C++ Programming COURSE CODE:SWD313 CONTACT HOURS: 5hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: I SEMESTER: I PRE-REQUSITE: PRACTICAL:3
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to enable students to acquire knowledge and Skills in OO Programming Using C++ Language
GENERAL OBJECTIVE 1.0: Understand the basics of computer programming, variables, comments, basic I/O operations.
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-3 1.1 Explain the difference between Discuss the White board, Install and configure Guide Explain the
machine and high-level languages difference between PCs/Laptops, IDE / Code editor students to difference
1.2 Explain the machine code and machine and high- Network/ install and between machine
compilation level languages Internet, Cisco Analyse and compare configure and high-level
LMS content, different code editors IDE / code languages
1.3 Define variables, integers and
Explain machine Multimedia, IDE Write and test simple C++ editor
characters / Cisco Sandbox programs
1.4 Explain the concept of comments in code and compilation / Code Editor, Guide
Outline examples
C++ of variable,
and flip chart students to
White board, analyse integer and
1.5 Explain streams and basic I/O operations PCs/Laptops, different character
Explain variables, Network/ code editors
36
1.6 Explain declaration and initialization integers and Internet, Cisco Guide students State how
structures characters with LMS content, Demonstrate declaration to write and comments are
examples Multimedia, IDE and initialization of test simple inserted in C++
Explain how / Cisco Sandbox structures C++ programs program
comments are / Code Editor,
inserted in C++ and flip chart Explain streams
program and basic I/O
Guide students
operations
to demonstrate
Explain stream and
I/O operations declaration and
initialization of Discuss
Explain declaration structures declaration and
and initialization initialization of
structures structures
GENERAL OBJECTIVE: 2.0 Understand flow control (if, else, switch; loops) and data aggregates
3-5 2.1 Explain flow control of program Explain flow control White board, Create programs to Guide students Explain how to
2.2 Explain conditional statements of program PCs/Laptops, demonstrate code control to demonstrate control the flow
/instructions: if, else, switch Explain conditional Network/ flow and conditional program of program
statements Internet, Cisco statements (if, else, switch) control flow
/instructions: if else, LMS content, Explain
2.3 Explain loopexecution (for, while, do
switch Multimedia, IDE Demonstrate conditional
while, repeat) / Cisco Sandbox conditional instructions
2.4 Describe logic, bitwise and arithmetic Demonstrate loop control
/ Code Editor, statements/ Explain logic,
operators execution
Explain loop and flip chart instructions (if, bitwise and
execution (for, while, White board, Demonstrate logic, bitwise else, switch) arithmetic
2.5 Explain vectors and multidimensional do while, repeat) PCs/Laptops, and arithmetic operators operators
arrays Explain logic, Network/ Demonstrate
bitwise and Internet, Cisco loop execution Describe vectors
arithmetic operators LMS content, (for, while, do and
Multimedia, IDE while, repeat) multidimensional
Explain vectors and / Cisco Sandbox Guide students arrays
37
multidimensional / Code Editor, to write
arrays and flip chart program to
demonstrate
logic, bitwise
and arithmetic
operators
GENERAL OBJECTIVE: 3.0 Understand extending expressive power: pointers, functions, and memory
5-6 3.1 Explain the concept of pointers Explain the concept White board, Demonstrate the design, Guide students Describe pointers
of pointers PCs/Laptops, declaration and invocation to: write and default
3.2 Explain the design, declaration, and Network/ of functions programs that parameters
invocation of functions Explain the design, Internet, Cisco demonstrate
LMS content, Demonstrate parameters the definition, Describe the
declaration, and
Multimedia, IDE passing and functions‘ declaration and process of
3.3 Explain different methods of passing invocation of / Cisco Sandbox designing,
parameters and their purpose functions default parameters invocation of
/ Code Editor, declaring and
functions
and flip chart invoking
3.4 Explain default parameters and inline Discuss different Demonstrate functions functions
functions methods of passing overload Write
programs to Explain
parameters and their
Write program to sort demonstrate overloaded
3.5 Explain overloaded functions purpose
given items parameters functions
passing and
3.6 Explain concept of sorting and memory Explain default
functions‘ Discuss sorting
on demand parameters and inline
default and memory on
functions parameters demand
Explain overloaded
functions
38
Demonstrate
Discuss concept of functions
sorting and memory overload
on demand
write program
to sort given
items using
function.
GENERAL OBJECTIVE: 4.0 Understand accessing data: arrays of pointers, conversions, strings, namespaces, and exceptions
7-8 4.1 Explain arrays of pointers and Explain arrays of White board, Illustrate and test use of Guide students Discuss arrays of
conversions pointers and PCs/Laptops, arrays pointers to: illustrate pointers and
conversions Network/ and test use of conversion
4.2 Explain strings: declarations, Internet, Cisco Demonstrate strings arrays pointers
Discuss strings: LMS content, declarations, initializations Discuss strings
initializations and assignments
declarations, Multimedia, IDE and assignments Demonstrate declaration,
initializations and / Cisco Sandbox initialization, and
4.3 Explain strings as an example of objects strings
assignments / Code Editor, assignment
(methods and properties) Illustrate and test declarations,
and flip chart
namespace declaration and initializations Describe strings
Explain strings as an use and as an example of
4.4 Describe how to declare and use
example of objects: assignments object
namespaces
(methods and Demonstrate exceptions
properties) Illustrate and Explain how to
4.5 Discuss dealing with exceptions
test namespace deal with
Discuss how to declaration and exceptions
declare and use use
namespaces
demonstrate
exceptions
39
Discuss dealing with
exceptions
GENERAL OBJECTIVE: 5.0Know object-oriented programming concepts (classes, objects)
9 - 10 5.1 Explain the concepts of OOP Discuss the concepts White board, Compare procedural and Guide students Explain the
of OOP PCs/Laptops, OO programming to: write codes concept of OOP
5.2 Explain stack: the procedural-oriented Network/ approaches to compare as compared to
approach vs. OOP Explain stack: the Internet, Cisco procedural and procedural-
LMS content, Design programs to OO oriented
procedural-oriented
Multimedia, IDE demonstrate: 1) classes and programming programming
5.3 Explain the anatomy of classes and static approach vs. OOP / Cisco Sandbox
components static components, approaches
/ Code Editor, Compare objects
Explain the anatomy and flip chart 2) objects inside objects, and pointers
5.4 Explain objects vs. Pointers and objects of classes and static 3) compare objects and Design
pointers programs that
inside objects components Explain the
demonstrate: 1)
concept of objects
classes and
Explain objects vs. inside objects
static
Pointers and objects components, 2)
inside objects objects inside
objects,
3) compare
objects and
pointers
GENERAL OBJECTIVE: 6.0 Know the concept of inheritance, encapsulation, polymorphysm and Abstraction
11- 12 6.1 Explain class hierarchies Discuss class White board, Design programs to Guide students Explain the
hierarchies PCs/Laptops, illustrate class hierarchies, to: Design concepts of class
6.2 Explain classes, inheritance, and type Network/ inheritance and type programs to hierarchies,
40
compatibility Explain classes, Internet, Cisco compatibility illustrate class inheritance and
inheritance, and type LMS content, hierarchies, type compatibility
6.3 Explain Abstraction, polymorphism, compatibility Multimedia, IDE Demonstrate inheritance and
encapsulation, and virtual methods / Cisco Sandbox 1) Abstraction, type Discuss
/ Code Editor, polymorphism Inheritance, compatibility 1) virtual methods
Discuss
and flip chart Encapsulation and virtual and
6.4 Explain objects as parameters, and Abstraction,polymor
dynamic casting phism, methods. Create program polymorphism, 2)
encapsulation, and , 2) objects as parameters codes that objects as
6.5 Explain various supplements and const virtual methods and dynamic casting, 3) demonstrate parameters and
keyword use of various supplements 1) Abstraction, dynamic casting,
Explain objects as and const keyword polymorphism 3) use of various
parameters, and Inheritance, supplements and
Encapsulation const keyword
dynamic casting
and virtual
methods.
Discuss various
2) objects as
supplements and
const keyword parameters and
dynamic
casting,
3) use of
various
supplements
and const
keyword
41
13-14 7.1 Explain the concept of exceptions Discuss the concept White board, Design programs to Guide students Group students to
of exceptions PCs/Laptops, practice exceptions with to: work as team to
7.2 Explain throw and catch statements and Network/ throw and catch statements achieve simple
their use Explain throw and Internet, Cisco Design normal tasks
LMS content, Create codes with errors to programs to using C++
catch statements and
Multimedia, IDE debug or resolve using practice
7.3 Outline exception categories their usage / Cisco Sandbox
exceptions techniques exceptions
/ Code Editor,
7.4 Explain exceptions Discuss exception with throw and
and flip chart
categories catch
statements
Explain exceptions
Create codes
with errors to
debug or
resolve using
exceptions
technique
GENERAL OBJECTIVE: 8.0 : Comprehend operators and enumerated types
15 8.1 Outline overloading operators Discuss overloading White board, Create programs to Guide students Group students to
operators PCs/Laptops, demonstrate overloading to create work as team to
8.2 Explain enumerated types Network/ operators and enumerated programs to achieve simple
Explain enumerated Internet, Cisco types demonstrate normal tasks
LMS content, overloading using C++
types
Multimedia, IDE operators and
/ Cisco Sandbox
enumerated
/ Code Editor,
types
and flip chart
42
GENERAL OBJECTIVE: 9.0 Understand how to apply C++ programming to database development
9.1 Define Database Define database and White board, Design and connect to a Guide students Explain what
9.2 Define relational database relational database PCs/Laptops, database using OOP to: data database is
Network/ Illustrate how and the steps of
9.3 Explain steps of database Design
Explain steps of Internet, Cisco to design and database design
9.4 Explain general object-oriented
LMS content, Perform CRUD Operations connect to a
design guidelines database design and
Multimedia, IDE in database application database using Define general
9.5 Explain object-oriented Database general object- / Cisco Sandbox
OOP object-oriented
9.6 Define Object database oriented design / Code Editor, design guidelines
guidelines and flip chart
9.7 Explain Object database Model Illustrate how
to apply C++
9.8 Explain how to design object database Define object
in database
9.9 Explain how to apply C++ in database database
development
development
Explain object-
Illustrate how
oriented database
to connect to
and object database
database using
model
C++
Explain how to apply
Illustrate how
C++ in database to perform
development CRUD
Operations in
database
application.
43
Assessment: Give details of assignments to be used:
44
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Operations Research COURSE CODE: SWD314 CONTACT HOURS: 3hrs
GOAL: This course is designed to produce diplomates with the knowledge and skills to optimize decision-making.
GENERAL OBJECTIVES: On completion of the course, the student should be able to:
1. Understand the history and development of Operations Research (OR)
2. Understand modelling in Operations Research
3. Understand optimization problem
4. Know linear programming (LP)
5. Know linear programming (Simplex Method)
6. understand integer programming
7. Understand dynamic programming
8. Understand transportation model
9. Understand assignment model
45
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Operations Research COURSE CODE:SWD314 CONTACT HOURS: 3
CREDIT UNIT:2 THEORETICAL: 1
YEAR: I SEMESTER: I PRE-REQUSITE: PRACTICAL:2
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to produce diplomates with the knowledge and skills to optimize decision-making.
GENERAL OBJECTIVE 1.0: Understand the history and development of Operations Research (OR)
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1 1.1. Explain the historical context and Explain the historical Whiteboard, visually depict the Guide students to:
origins of OR. context and origins Marker, historical context and Create timelines
of OR, including its Projector, origins of OR. or infographics
emergence during PowerPoint, that visually
1.2. Identify key figures and milestones World War II and its Google Slides depict the
evolution over time. Identify key figures and evolution of OR,
in the development of OR.
milestones in the including
Discuss historical development of OR. significant
development of OR, developments and
1.3. Describe the various fields and emphasizing key contributions.
industries where OR has made milestones, figures, Identify the various fields
46
significant contributions. and historical and industries where OR
contexts. has made significant
contributions.
Discuss key pioneers
and contributors to
OR
Discuss
mathematical
models, the
variables,
47
constraints,
objectives, and how
these models can
inform decision-
making.
GENERAL OBJECTIVE: 3.0 Understand optimization problems
3 3.1 Explain optimization problems in Discuss optimization Whiteboard, Conduct exercises to validate
Guide student
different contexts. problems in different Marker, and test the accuracy of to:
contexts, including Projector, mathematical models by Conduct
3.2. Formulate optimization problems using resource allocation, PowerPoint, comparing model predictionsexercises to
objective functions and constraints. cost minimization, Google Slides with real-world data validate and
and profit test the
3.3. Differentiate between linear and maximization. accuracy of
nonlinear optimization problems. mathematical
Discuss how to models by
formulate comparing
optimization model
problems using predictions
objective functions with real-
and constraints. world data.
Discuss how to
differentiate between
linear and nonlinear
optimization
problems.
48
4-5 4.1. Define linear programming and its Explain linear Whiteboard, Solve LP problems Guide students
applications. programming and its Marker, graphically. to: Solve LP
applications. Projector, problems
4.2. Explain how to formulate linear PowerPoint, Demonstrate the process of graphically.
programming problems with linear objective Discuss how to Google Slides identifying feasible
functions and constraints. formulate linear Excel Solver, regions, corner points, and Demonstrate
programming GAMS, or PuLP optimizing the objective the process of
4.3. Explain how to solve linear problems with linear in Python function. identifying
programming problems graphically and objective functions feasible
algebraically. and constraints. Demonstrate using LP regions, corner
software tools (e.g., Excel points, and
4.4 Explain the fundamental concepts of Discuss how to solve Solver, GAMS, or PuLP in optimizing the
linear programming, including objective linear programming Python) to solve LP objective
functions, constraints, decision variables, problems graphically problems with real world function.
and the graphical representation of LP and algebraically. data.
problems. Demonstrate
Discuss the using LP
4.5 Explain sensitivity analysis techniques fundamental software tools
by varying coefficients, constraints, or concepts of linear (e.g., Excel
resource availability to understand how LP programming, Solver, GAMS,
solutions change in response. including objective or PuLP in
functions, Python) to
4.6 Explain the concept of LP duality and its constraints, decision solve LP
practical implications. variables, and the problems with
graphical real world data.
4.7 Explain the interpretation of dual representation of LP
variables and shadow prices. problems.
Discuss the
assumptions and
limitations of LP
models, including
linearity and the
applicability of LP to
specific problem
types.
Explain how to
interpret LP solution
outputs, including
optimal values,
decision variable
values, and
sensitivity analysis
50
results.
6-7 5.1. Explain the Simplex Method as an Discuss the Simplex Whiteboard, Demonstrate the Simplex Guide students
algorithm for solving linear programming Method as an Marker, Projector,Method using a simple to:
problems. algorithm for solving PowerPoint, example on a whiteboard,
linear programming Google Slides, chalkboard, or using Demonstrate
5.2. Explain how to apply the Simplex problems. Excel Solver, software tools. the Simplex
Method to optimize linear objective online LP solvers Method using
functions subject to linear constraints. Discuss the Demonstrate using a simple
fundamentals of graphical representations example on a
5.3. Explain how to interpret the results of linear programming, to illustrate how linear whiteboard,
Simplex Method iterations. including objective programming problems chalkboard, or
functions, can be visualized in two or using software
5.4 Explain the geometric interpretation of constraints, decision three dimensions. tools.
the Simplex Method by visually variables, and the
representing linear programming problems basic idea behind the Demonstrate how the Demonstrate
in two or three dimensions. Simplex Method. Simplex Method moves using
between feasible solutions. graphical
5.5 Explain how the method moves from Discuss how to apply representations
one vertex to another to optimize the the Simplex Method to illustrate
objective function. to optimize linear Solve Simplex tableaus how linear
objective functions step by step, highlighting programming
subject to linear the identification of pivot problems can
constraints. elements and pivot be visualized in
5.6 Explain a high-level overview of the operations two or three
Simplex Method algorithm, emphasizing the Discuss how to dimensions.
steps involved, such as selecting entering interpret the results
and leaving variables, performing pivot of Simplex Method Demonstrate
51
operations, and updating the tableau. iterations. how the
Simplex
Discuss the Method moves
geometric between
interpretation of the feasible
Simplex Method by solutions.
visually representing
linear programming
problems in two or Solve Simplex
three dimensions. tableaus step
by step,
Explain how the highlighting
method moves from the
one vertex to another identification
to optimize the of pivot
objective function. elements and
pivot
operations.
Discuss a high-level
overview of the
Simplex Method
algorithm,
emphasizing the
steps involved, such
as selecting entering
and leaving
variables, performing
pivot operations, and
updating the tableau.
52
GENERAL OBJECTIVE: 6.0Understand integer programming (IP)
8-9 6.1. Explain the concept of integer Whiteboard, Use IP Guide students to
Discuss the
programming and when it is Marker, solver software to formulate,use IP
fundamentals of
applicable. Projector, solve, and analyze IP modelssolver software to
integer
PowerPoint, based formulate, solve,
programming,
Google Slides on real-world datasets. and analyze IP
6.2. Explain how to formulate integer emphasizing the
Excel Solver models based
programming problems with difference between
on real-world
discrete decision variables. continuous and
datasets.
integer decision
6.3. Explain how to apply integer variables.
programming techniques to solve
Discuss the concept
optimization problems with of integer
integer solutions. programming and
6.4 Explain different types of IP problems, when it is applicable.
including pure IP, mixed-integer
programming (MIP), and binary integer Discuss how to
programming (BIP). Provide examples of formulate integer
each type. programming
problems with
6.5 Explain the computational complexity of discrete decision
IP problems and introduce the concept of variables.
NP-hard problems.
Discuss how to apply
6.6 Explain how IP problems can become integer programming
challenging as problem size and complexity techniques to solve
increases. optimization
problems with
6.7 Explain heuristic and metaheuristic integer solutions.
53
methods (e.g., greedy algorithms, simulated
annealing, or genetic algorithms) that can be Explain different
used to find approximate solutions to IP types of IP problems,
problems. including pure IP,
mixed-integer
6.8 Explain various applications of IP in programming (MIP),
different industries, such as finance, and binary integer
transportation, and telecommunications; and programming (BIP).
explore how IP models impact decision- Provide examples of
making. each type.
Discuss the
computational
complexity of IP
problems and
introduce the concept
of NP-hard
problems.
Explain how IP
problems can
become challenging
as problem size and
complexity
increases.
Discuss various
applications of IP in
different industries,
such as finance,
transportation, and
telecommunications;
and explore how IP
models impact
decision-making.
10-11 8.1. Define dynamic programming Explain dynamic Whiteboard, Use DP Guide students to
and its applications in solvingprogramming and its Marker, concepts to solve use DP
optimization problems with applications in Projector, optimization problems basedconcepts to solve
solving optimization PowerPoint, on real-world datasets. optimization
sequential decision-making.
problems with Google Slides problems based
on real-world
8.2. Explain how to develop dynamic sequential decision- datasets.
making.
programming models for
problems involving stages and Discuss key dynamic
state transitions. programming
terminology, such as
55
8.3. Explain how to solve dynamic memoization,
programming problems using the optimal substructure,
Bellman equation or recursive and overlapping
subproblems, to
approaches.
provide a solid
foundation for
understanding DP
concepts.
Discuss how to
develop dynamic
programming models
for problems
involving stages and
state transitions.
12-13 8.1. Explain how to formulate Discuss the Whiteboard, Formulate transportation Guide students on
transportation problems to optimize the fundamentals of Marker, Projector,problems to optimize the how to:
distribution of goods from multiple sources transportation PowerPoint, distribution of goods from Formulate
to multiple destinations. modeling, Google Slides, multiple sources to transportation
56
emphasizing its role Excel Solver, LP multiple destinations. problems as linear
in solving solvers, or programming
8.2. Explain how to solve transportation distribution and specialized Solve transportation (LP) models,
problems using transportation algorithms. logistics problems. transportation problems using focusing on
modeling software)
transportation algorithms. objective
8.3 Explain the relationship between functions,
transportation models and network flow Discuss how to decision variables,
problems, highlighting similarities and formulate and constraints.
differences. transportation
problems to optimize Solve
the distribution of transportation
goods from multiple problems using
sources to multiple LP techniques.
destinations.
Demonstrate how
Discuss how to solve to use
transportation transportation
problems using algorithms (e.g.,
transportation the North-West
algorithms, such as Corner Rule,
the North-West Vogel's
Corner Rule and the Approximation
Vogel's Method).
Approximation
Method (VAM). Perform
sensitivity
Discuss the analysis for
relationship between transportation
transportation models, including
models and network the impact of
flow problems, changes in
57
highlighting supply, demand,
similarities and or transportation
differences. costs on the
optimal solution.
GENERAL OBJECTIVE: 9.0Understand Assignment Model
14 -15 9.1. Define assignment problems and Discuss assignment Whiteboard, Demonstrate how to Guide students on
their significance. problems and their Marker, Projector,formulate assignment how to:
significance in PowerPoint, problems as linear
9.2. Explain how to formulate matching tasks or Google Slides programming models. Demonstrate how
assignments to to formulate
assignment problems as linear
resources. Apply Hungarian assignment
programming models. algorithm or other problems as linear
Discuss how to assignment methods to programming
9.3. Explain how to apply Hungarian solve assignment problems (LP)
formulate assignment
algorithm or other assignment optimally.
problems as linear
methods to solve assignment programming Demonstrate
problems optimally. models. how to apply
Hungarian
Dsicuss how to apply algorithm or
Hungarian algorithm other
or other assignment assignment
methods to solve methods to
assignment problems solve
optimally. assignment
Discuss the problems
components of an optimally.
assignment problem,
including tasks,
resources,
58
assignment costs,
and the objective of
minimizing or
maximizing the total
cost or profit.
59
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Data Communication and Networks COURSE CODE: SWD315 CONTACT HOURS: 4hrs
GOAL: This course provides students with knowledge and skills on networking relevant to software and web development
GENERAL OBJECTIVES: On completion of the course, the student should be able to:
60
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Data Communication and Networks COURSE CODE:SWD315 CONTACT HOURS: 4hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: I SEMESTER: I PRE-REQUSITE: PRACTICAL:2
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course provides students with knowledge and skills on networking relevant to software and web development
GENERAL OBJECTIVE 1.0: Know the concepts of today‘s networks
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-2 1.1 Explain how networks affect our daily Explain how Multi-media Identify network devices Guide students Outline network
lives. networks affect our Projector, to: representations
1.2 Outline how host and network devices daily lives. Lecture notes, Demonstrate and how they are
are used Tutorials, Network used in network
1.3 Outline network representations and Explain how host Pictorials Design LAN/WAN using Representation topologies
how they are used in network and network devices Packet tracer or the simulator using
topologies. are used any other simulation List the
1.4 List the characteristics of common suitable Design types of network software. characteristics of
types of networks. Explain network simulator topologies using the a good network
1.5 Outline how LANs and WANs representations and simulator
interconnect to the internet. how they are used in Demonstrate Describe types of
61
1.6 Explain the four basic requirements of a network topologies. how to design network
reliable network. LAN/WAN topologies
1.7 Outline how trends such as BYOD, Compare the using the
online collaboration, video, and cloud characteristics of simulator
computing are changing the way we common types of
interact networks. Demonstrate
1.8 Explain some basic security threats and how to design
solutions for all networks Explain how LANs network
1.9 Outline opportunities in the and WANs topologies
networking field interconnect to the using the
internet. simulator
Outline opportunities
in the networking
62
field
Describe the
operation of IPv6
neighbour discovery.
Explain network
utilities like ping,
traceroute, etc.
utilities for testing
network connectivity
64
GENERAL OBJECTIVE: 3.0 Comprehend Open System Interconnect (OSI) model
3.1 Elaborate the purpose and functions of ● Elaborate the Multi-media ● Make Guide List the
the physical layer in the network. purpose and Projector, crossover,rollover students characteristics of
5-7 3.2 Elaborate the characteristics of the functions of Lecture notes, and straight- to: media access
physical layer. the physical Tutorials, through cables ● Make control methods
3.3 Explain the basic characteristics of layer in the Pictorials ● Connect wired and crossov on WAN and
copper cabling. network. Wireshark wireless LAN. er, LAN topologies
3.4 Describe how UTP cable is used in ● Elaborate the packet tracer or ● View Wired and rollover
Ethernet networks. characteristic other network Wireless NIC and
3.5 Explain fiber optic cabling and its main s of the simulators Information using straight
advantages over other media. physical networking tool Packet Tracer. -
3.6 Explain Network devices using wired layer. kit through
and wireless media. ● Explain the networking cables
3.7 List the purpose and function of the basic cable Observe TCP and ● Connec
data link layer in preparing characteristic UDP ta
communication for transmission on s of copper Communications Wired
specific media. cable. ● Observe DNS and
3.8 List the characteristics of media access ● Describe how Resolution Wireles
control methods on WAN and LAN UTP cable is s LAN
topologies. used in ● View
3.9 Explain the characteristics and Ethernet Wired
functions of the data link frame. networks. and
3.10 Explain how the network layer uses Wireles
IP protocols for reliable ● Explain fiber s NIC
communications optic cabling Informa
65
3.11 Explain the role of the major header and its main tion
fields in the IPv4 packet. advantages using
3.12 Explain the role of the major header over other Packet
fields in the IPv6 packet. media. Tracer
3.13 Explain how network devices use – TCP
routing tables to direct packets to a ● Explain and
destination network. Network UDP
3.14 Explain the functions of fields in the devices using Commu
routing table wired and nication
3.15 Explain the purpose of the transport wireless s
layer in managing the transportation of media. ● Observ
data in end-to-end communication. e DNS
3.16 List the characteristics of TCP. ● Explain the Resolut
3.17 List characteristics of UDP. purpose and ion
3.18 Describe how TCP and UDP use function of ●
port numbers. the data link
3.19 Explain how TCP session layer in
establishment and termination preparing
processes facilitate reliable communicati
communication. on for
3.20 Explain how TCP protocol data units transmission
are transmitted and acknowledged to on specific
guarantee delivery. media.
3.21 Explain the operations of transport
layer protocols in supporting end-to- ● Explain the
end communication. characteristic
3.22 Explain how the functions of the s of media
application layer, presentation layer, access control
and session layer work together to methods on
provide network services to end-user WAN and
applications. LAN
66
3.23 Explain how end-user applications topologies.
operate in a peer-to-peer network.
3.24 Explain how web and email ● Explain the
protocols operate. characteristic
3.25 Explain how DNS and DHCP s and
operate. functions of
3.26 Explain how file transfer protocols the data link
operate. frame.
● Explain how
the network
layer uses IP
protocols for
reliable
communicati
ons
● Explain the
role of the
major header
fields in the
IPv4 packet.
● Explain the
role of the
major header
fields in the
IPv6 packet.
● Explain how
network
devices use
67
routing tables
to direct
packets to a
destination
network.
● Explain the
function of
fields in the
routing table
of a router.
● Explain the
purpose of
the transport
layer in
managing the
transportation
of data in
end-to-end
communicati
on.
● Explain the
characteristic
s of TCP.
● Explain the
characteristic
s of UDP.
68
● Describe how
TCP and
UDP use port
numbers.
● Explain how
TCP session
establishment
and
termination
processes
facilitate
reliable
communicati
on.
● Explain how
TCP protocol
data units are
transmitted
and
acknowledge
d to
guarantee
delivery.
● Explain the
operations of
transport
layer
protocols in
69
supporting
end-to-end
communicati
on.
● Explain how
the functions
of the
application
layer,
presentation
layer, and
session layer
work together
to provide
network
services to
end-user
applications.
● Explain how
end-user
applications
operate in a
peer-to-peer
network.
● Explain how
web and
email
protocols
70
operate.
● Explain how
DNS and
DHCP
operate.
● Explain how
file transfer
protocols
operate.
4.1 Describe how the Ethernet sublayers ● Explain how Multi-media ● Use Wireshark to Guide Describe how a
are related to the frame fields. the Ethernet Projector, Examine Ethernet students switch builds its
8-9 4.2 Describe the Ethernet MAC address. sublayers are Lecture notes, Frames to; MAC address
4.3 Describe how a switch builds its MAC related to the Tutorials, ● View Network ● Use table and forwards
address table and forwards frames. frame fields. Pictorials Multi- Device MAC Wiresh frames
4.4 Describe switch forwarding methods ● Describe the media Addresses ark to
and port settings available on Layer 2 Ethernet Projector, ● View the Switch Examin
switch ports. MAC Lecture notes, MAC Address e
address. Tutorials, Table Etherne
● Explain how Pictorials t
a switch Computer Frames
builds its Routers ● View
MAC address Switches Networ
table and k
forwards Device
frames. MAC
71
● Describe Address
switch es
forwarding ● View
methods and the
port settings Switch
available on MAC
Layer 2 Address
switch ports. Table
GENERAL OBJECTIVE: 5.0 Understand Number systems and IP addressing
5.1 Explain number systems ● Explain how to Multi-media Convert binary numbers to Guide students Explain the
10 5.2 Explain how to convert numbers convert decimal Projector, decimal numbers to: structure of an
between decimal and binary systems. and binary Lecture notes, Demonstrate IPv4 address
5.3 Explain how to convert numbers systems. Tutorials, how to convert including the
between decimal and hexadecimal ● Explain how to Pictorials Convert decimal numbers binary numbers network portion,
systems. convert numbers to Hexadecimal numbers to decimal the host portion,
5.4 Explain the structure of an IPv4 between decimal numbers and the subnet
address including the network portion, and hexadecimal mask.
the host portion, and the subnet mask. systems. Demonstrate
5.5 Analyse the characteristics and uses of ● Describe the the conversion
the unicast, broadcast and multicast structure of an of decimal
IPv4 addresses. IPv4 address numbers to
5.6 Describe public, private, and reserved including the Hexadecimal
IPv4 addresses. network portion, numbers
5.7 Describe how subnetting segments a the host portion,
network to enable better and the subnet
communication. mask.
5.8 Compute IPv4 subnets for a /24 prefix. ● Explain the
5.9 Describe the need for IPv6 addressing. characteristics
5.10 Describe how IPv6 addresses are and uses of the
72
represented. unicast,
5.11 Contrast types of IPv6 network broadcast and
addresses. multicast IPv4
5.12 Describe how to configure static addresses.
global unicast and link-local IPv6 ● Explain public,
network addresses. private, and
5.13 Describe how to configure global reserved IPv4
unicast addresses dynamically. addresses.
● Explain how
subnetting
segments a
network to
enable better
communication.
● Explain how to
calculate IPv4
subnets for a /24
prefix.
● Explain the need
for IPv6
addressing.
● Explain how
IPv6 addresses
are represented.
● Explain the types
of IPv6 network
addresses(Unicas
t and Anycast)
● Explain how to
configure static
global unicast
73
and link-local
IPv6 network
addresses.
● Explain how to
configure global
unicast addresses
dynamically.
11-12 6.1 Explain how to access IOS or VRP ● Explain how Multimedia ● Configure a Switch Guide student Explain how to
device for configuration purposes. to access Projector, and navigate to navigate IOS or
Internetwork Routers and through the IOS or ● Navigat VRP to configure
6.2 Explain how to navigate IOS or VRP Operating Switches, VRP e the network devices.
to configure network devices. System(IOS) Packet Tracer or IOS or
or Virtual eNSP or GNS3, ● Configure VRP by
6.3 Explain the command structure of IOS Router Laptop InitialSwitch Using
or VRP software. Protocol Internet Settings Tera
(VRP) device Books, Journals, Term
6.4 Explain IOS or VRP device using CLI. for Marker board, for
configuration Marker, Console
6.5 Explain IOS or VRP commands to purposes. Textbooks, Tera Connec
save the running configuration. Term, Putty tivity
● Explain how ● Configu
6.6 Explain how devices communicate to navigate re
across network media. IOS or VRP InitialS
to configure witch
6.7 Explain a host device with an IP network Settings
address. devices. ●
74
6.8 Explain connectivity between two end ● Explain the
devices. command
structure of
6.9 Explain initial settings on an IOS or IOS or VRP
VRP router. software.
6.10 Explain two active interfaces on
IOS or VRP router. ● Explain IOS
6.11 Explain how devices use the default or VRP
gateway. device using
CLI.
● Explain IOS
or VRP
commands to
save the
running
configuration.
● Explain how
devices
communicate
across
network
media.
● Explain a
host device
with an IP
address.
75
● Explain
connectivity
between two
end devices.
● Explain
initial settings
on an IOS or
VRP router.
● Explain two
active
interfaces on
IOS or VRP
router.
● Explain how
devices use
the default
gateway.
13-14 7.1 Explain why basic security measures ● Explain why Multimedia ● Configure secure ● Guide List general
are necessary on network devices. basic security Projector, passwords and SSH the mitigation
measures are Routers and on network students techniques
7.2 List general security mitigation necessary on Switches, devices. to
techniques. network Packet Tracer or configu
devices. eNSP or GNS3, re
7.3 Explain network devices with device Laptop secure
hardening features to mitigate security ● Explain Internet passwor
76
threats. general Books, Journals, ds and
security Marker board, SSH on
mitigation Marker, network
techniques. Textbooks, devices.
TeraTerm, Putty
● Explain
network
devices with
device
hardening
features to
mitigate
security
threats.
14-15 8.1 Explain the devices used in a small ● Explain the Multimedia ● Design a small Guide the Explain the
network. devices used Projector, network, and use students to: protocol and
in a small Routers and ping and traceroute ● Design application used
8.2 Explain the protocols and applications network. Switches, to test for latency a small in a small network
used in a small network. Packet Tracer or and connectivity. network
● Explain the eNSP or GNS3, ● Troubleshoot , and
8.3 Explain how a small network serves as protocols and Laptop connectivity issues. use
the basis of larger networks. applications Internet ping
used in a Books, Journals, and
8.4 Explain common network small Marker board, tracerou
troubleshooting methodologies. network. Marker, te to
Textbooks, Tera test for
● Explain how Term, Putty latency
77
a small and
network connect
serves as the ivity.
8.5 List common connectivity problems basis of ● Trouble
associated with network devices larger shoot
networks. connect
ivity
● Explain issues.
common
network
troubleshooti
ng
methodologie
s.
● Explain
common
connectivity
problems
associated
with network
78
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Introduction to Software Engineering COURSE CODE: SWD316 CONTACT HOURS: 5
GOAL: This course provides students with knowledge and skills in Software Engineering
GENERAL OBJECTIVES: On completion of this course the student should be able to:
1.0 Understand the Fundamentals of Software Engineering
2.0 Know Software Processes and Models
3.0 Understand Software Requirements
4.0 Comprehend Software Design Process
5.0 Understand Software Development
6.0 Understand Software Testing
7.0 Understand Software Management
.
79
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Introduction to Software Engineering COURSE CODE:SWD316 CONTACT HOURS: 5hrs
CREDIT UNIT:3 THEORETICAL: 3
YEAR: I SEMESTER: I PRE-REQUSITE: PRACTICAL:2
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course provides students with knowledge and skills in Software Engineering
GENERAL OBJECTIVE 1.0: Understand the Fundamentals of Software Engineering
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-3 1.1 Define SoftwareEngineering Discuss Software White Board. What are the
Engineering and characteristics of
1.2 Explain the need for the need forit PC loaded good software?
SoftwareEngineering with
Explain the
1.3 Explain the characteristics of Presentation
Characteristics of a What are the
goodsoftware package and
good software laws used in the
1.4 Explain SoftwareEvolution connected to evolution of
Explain the multimedia computer
1.5 Explain abstraction and decomposition Projector
80
in software engineering evolution of software?
computer software. Online lecture
notes What are the 3Rs
Explain the laws of software
used for software evolution?
evolution.
Explain the
techniques of
software evolution.
Explain abstraction
and decomposition in
software engineering
GENERAL OBJECTIVE: 2.0 Know Software Process and Models
2.1 Explain Software Process and Explain Software White Identify the strengths Guide students What are the
4-5 itsactivities development Board and weaknesses of to: strengths and
Process and its and various software weaknesses
2.2 Explain Software generic
activities marker. process models Identify and of various
Processmodel compare the software
2.3 Explain Software process models i.e. Explain various PC loaded Demonstrate the use of strengths and process
waterfall, Spiral, V-model, Rapid software with prototyping software. weaknesses of models?
Application Development, Agileetc. development Presentation various models
process models package and What are the
2.4Explain Software Prototyping and connected to Demonstrate
types of
Types Explain Software multimedia the use of
Software
2.5 Explain advantages and Disadvantages Prototyping, its Projector Prototyping
Prototyping?
ofPrototyping types, advantages figma software such
and Disadvantages wireframe as figma,
wireframe Discuss the
Online lecture advantages
81
notes and
disadvantage
s of
Prototyping.
82
GENERAL OBJECTIVE: 4.0 Comprehend Software Design Process
8 - 10 4.1 Explain Software Design and Explain White Create simple object- Guide Demonstrate
itsimportance Software Design Board oriented designs of students how to use
4.2 Explain stages in Software
and its and some systems using to : XML and UML
designprocess importance marker. flowcharts Create to create simple
Explain stages in simple object-oriented
4.3 Explain software designtools PC loaded designs of some
Software design Compare the features of object-
e.g. Algorithm, UML, XML etc. with different software design oriented systems.
4.4 Explain Software Design Strategies process
Presentation tools. designs
4.5 Explain Software Design model: Explain software package and of some Make a
data/class, architectural design, interface design tools e.g. connected to Create object- systems comparison
design and component design Algorithm, UML, multimedia oriented designs of using between different
4.6 Explain object oriented design: XMLetc. Projector some systems using flowcharts software design
classes, objects, components Explain Software XML and UML tools.
etc. Design Strategies Networked PCs Compare the
Loaded With features of Use XML and
4.7 Explain Software Architecture and Carryout verification for
architectural styles Discuss the features XML, UML different UML to create
object-oriented designs
of different software software simple object-
4.8 Explain design quality attributes e.g. design tools. White design tools. oriented designs
cohesion, coupling, understand ability,
Explain Board of some
adaptability etc.
Software Design and Guide systems.
4.9 Explain Software Design Verification
model marker. students
. to: Verify software
Discuss object PC Create designs.
oriented design loaded simple
with object-
Presentat oriented
Explain
ion designs
Software
package of some
83
Architecture, and systems
architectural connecte using
styles and d to XML and
design quality multime UML
attributes. dia
Projector
Verify
Explain software object-
design verification Networked PCs oriented
Loaded With designs.
XML, UML
GENERAL OBJECTIVE: 5.0 Understand Software Development
11-12 5.1 Define SoftwareDevelopment Explain White Develop software using Guide What are the
5.2 Explain the activities involved in Software Board suitable software students strengths and
softwaredevelopment Developmen and development tools to weaknesses of
t and its marker. e.g. PHP, C++, Java develop various software
5.3 Explain Application Program Interface
activities PC loaded etc software developmenttool
(APIs) and theiruses using s?
with
5.4 Explain various software Explain APIs and Presentation suitable
Development tools and their Uses its uses package and software Demonstrate
connected to developm how to develop
5.5explain the process of developing Explain various ent tools software using
multimedia
software using various development software Projector suitable
toolse.g. development tools Network software
Notepad++, PHP, Python, Visual and their ed PCs development
Studio, C++, Java etc Uses Loaded tools
With
Explain the software
process of develop
84
developing ment
software using tools
various
development
tools
GENERAL OBJECTIVE: 6.0 Understand Software Testing
13-14 6.1 Define software Testing and its Explain White Draw up testing Guide Distinguish
importance Software Board schedule and perform students to: between Test
6.2 Explain Test Phases: unit testing, Testing, its and the testing accordingly. Types, Test
integration testing, types and marker. Draw up Phases, Test
system testing etc. importance PC Carryout different test testing Methods, and
loaded types. schedule Test
6.3 Explain Test Methods: black
Explain Test with and perform Techniques.
box, white box, static, dynamic etc. Presentat
Phases, Test Use of different testing the testing
6.4 Explain software testing types: Methods, ion methods and types. Accordingly
installation testing, usability and package using
testing, recovery testing, Validate and verify software Compare
Techniques and
software. testing tools dynamic and
security testing etc. connecte
such as static testing.
d to selenium,
Explain the multime apache jmeter
6.5 Explain Software Testing process of Compare Black
dia
Techniques: fault injection, software Use of box and White
Projector
Application program Interface (API) validation different box testing.
and Network testing
Testing, static testing etc. ed PCs methods and
verification
6.6 Distinguish between software Validation Loaded types.
and Verification With
6.7 Explain the process of software Distinguish software Validate
validationand between develop and
verification software ment verify
85
Validation tools software.
and selenium
Verification apache
jmeter
15 7.1 Explain Software Project Management Explain White Write project Guide Demonstrate
7.2 Explain the activities involved in Software Project Board proposal students how to write
software management: Management and to: project proposal,
proposal writing, project and its activities marker. perform project
Perform Project Write
PC loaded planning
planning and scheduling, project Discuss planning and project
with andscheduling.
monitoring, etc. Software project scheduling proposal.
7.3 Explain Software project Presentation
planning and its package and Perform
Scoping activities connected to Project Carryout
7.4 Explain Software project multimedia planning
Explain quality
planning and its activities Software project Projector and management.
7.5 Explain Software Quality Scoping Networked schedulin
Management: quality control PCs Loaded g.
Write a project
and quality assurance Discuss With software Write a scope.
Software development software
Quality tools project
Managemen Gantt chart scope.
t Online
lecture
materials
86
YEAR 1 SEMESTER II
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Python Programming COURSE CODE: SWD321 CONTACT HOURS: 5
GOAL: This course is designed to enable students evolve critical thinking and problem-solving skills using algorithmic approach
GENERAL OBJECTIVES: Upon completion of this course, the student should be able to:
1. Comprehend general computer programming concepts and techniques
2. Understand Data types, variables, basic input-output operations, and basic operators
3. Know Boolean values, conditional execution, loops, lists and list processing, logical and bitwise operations
4. Understand python functions, tuples, dictionaries, and data processing
5. Understand python modules, libraries, packages, and PIP
6. Understand strings, string and list methods, and exceptions
7. Know the concepts and application of Object-Oriented Programming
8. Understand working with Databases in Python
9. Understand Basics Data Analysis with Python
87
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Python Programming COURSE CODE:SWD321 CONTACT HOURS: 5hrs
CREDIT UNIT:3 THEORETICAL:2
YEAR: I SEMESTER: II PRE-REQUSITE: PRACTICAL:3
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to enable students evolve critical thinking and problem-solving skills using algorithmic approach
GENERAL OBJECTIVE 1.0: : Comprehend general computer programming concepts and techniques
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1 1.1 Explain the Explain how the White board, Install and configure Guide Explain the
fundamentals of computer works and PCs/Laptops, Python Interpreter, IDE students to: difference
computer programming how program is Internet, Cisco / Code editor Install and between
1.1 Explain the difference between executed LMS content, configure compilation and
Multimedia, and Analyse and compare Python, IDE interpretation
compilation and interpretation
Explain how the flip chart different code editors / code editor
1.2 Describe what python is
python programming Outline different
Analyse
language is defined families and
different
and constructed code editors versions of
Python
Explain and
differentiate between
compilation and
interpretation of
program
88
ExplainPython‘s
position among other
programming
languages, and what
distinguishes the
different versions of
Python
GENERAL OBJECTIVE: 2.0 Understand Data types, variables, basic input-output operations, and basic operators
2 -3 2.1 Explain how to write and run simple Explain how to write White board, Construct simple Python Guide students
Python programs and run simple PCs/Laptops, codes and test them to: Take Quiz using
Python programs Internet, Cisco Construct tools like slido,
2.2 Describe what Python literals, operators LMS content, Design programs to simple Python kahoot, poll
Explain Python Multimedia, IDE perform basic Python input codes and test everywhere, etc.
and expressions are
literals and / Cisco Sandbox and output operations them
/ Code Editor,
2.3 Explain what variable are and what are operations with and flip chart
Take assessment
the rules that govern them examples Design on Cisco NetAcad
programs to LMS
Discuss Python perform basic
2.4 Explain how to perform basic Python Python input
input and output operations expressions with
examples and output
operations
Discuss variables,
enumerates its
attributes and rules
that govern them
Discuss how to
perform basic Python
input and output
89
operations
GENERAL OBJECTIVE: 3.0 : Know Boolean values, conditional execution, loops, lists and list processing, logical and bitwise operations
4 3.1 Explain the Boolean data type Explain Boolean data White board, Design Python codes to Guide students Perform lab
type and enumerates PCs/Laptops, demonstrate 1) Boolean to: activities on Cisco
3.2 Describe relational operators examples Internet, Cisco operations, 2) relational Design Python LMS Sandbox
LMS content, operators, 3) conditional codes to (virtual lab)
Discuss relational Multimedia, IDE statements using if, if-else, demonstrate
3.3 Explain conditional statements and/or
operators with / Cisco Sandbox if-elif-else statements 1) Boolean Take assessment
executions / Code Editor,
examples operations, (test) on Cisco
and flip chart
3.4 Describe how to repeat code execution Construct Python codes to 2) relational NetAcad LMS
using loops Discuss conditional perform logic and bitwise operators,
statements in Python operations 3) conditional Collaborate on
3.5 Explain how to perform logic and (using if, if-else, if- statements(usin group tasks to
bitwise operations in Python elif-else statements) Write Python codes to g if, if-else, if- demonstrate
repeat code execution elif-else) teamwork as
Discuss how to using while and for loops potential
3.6 Explain lists in Python and related
control looping using statements – and how to Construct developers
operations
break and continue control the loops using Python codes
instructions break and continue to perform Take Quiz using
3.7 Explain the concept of sorting list
instructions logic and tools like slido,
elements or contains Discuss repeating bitwise kahoot, poll
code execution using Design Python programs to operations everywhere, etc.
3.8 Explain multidimensional lists and their loop statements (e.g., perform 1) list indexing, 2)
applications while, for) list slicing, 3) list Write Python
90
comprehension, 4) list codes to repeat
Discuss how to content manipulation code execution
perform logic and ( while and for
bitwise operations in Write Python codes to sort loops
Python with list elements statements)
examples
Design Python programs to Design Python
Explainlists in demonstrates list methods programs to
Python perform
1) list
Discuss list indexing, indexing, 2)
slicing, list slicing,
comprehension, and 3) list
content manipulation comprehension
, 4) list content
Discuss how to sort a manipulation
list using bubble-sort
algorithms Collaborate on
writing Python
Discuss list methods codes to sort
and how they are list elements
used
Collaborate on
Discuss designing
multidimensional Python
lists and their programs to
applications demonstrates
various list
methods
91
GENERAL OBJECTIVE: 4.0 Understand python functions, tuples, dictionaries, and data processing
5-6 4.1 Explain code structuring and the concept Discuss code White board, Illustrate problem Guide students Perform lab
of function structuring in PCs/Laptops, decomposition to : activities on Cisco
relation to the Internet, Cisco Collaborate on LMS Sandbox
4.2 Describe function invocation and concept of function – LMS content, Demonstrate function task to be (virtual lab)
decomposition, Multimedia, IDE positional and keyword decomposed
returning a result from a function
positional parameter / Cisco Sandbox parameter passing into smaller Take assessment
/ Code Editor,
4.3 Define name scopes and variable passing, keyword tasks (test) on Cisco
and flip chart
shadowing parameter passing Construct functions to NetAcad LMS
with examples solve simple problems and Write
4.4 Explain tuples and their purpose, invoke them to return programs that Collaborate on
constructing and using tuples Discuss function results pass group tasks to
construction using parameters into demonstrate
def, function Construct functions with functions using teamwork as
4.5 Explain dictionaries and their purpose,
invocation, and variable that the 1) positional potential
constructing and using dictionaries
returning result with namespace is inside the parameter, developers
examples function and variable 2) keyword
4.6 Explain exceptions – the try statement
outside the function that parameter, Take Quiz using
the except clause, Python built-in
Discuss the concept could be shadow inside the 3) default tools like slido,
exceptions, code testing and debugging
of namespaces and function parameter, kahoot, poll
variable shadowing 4) combine all everywhere, etc.
with examples Construct tuples and
manipulate the contents Write functions
Discuss tuples, its and test the to solve real
structure, purpose immutablenature of tuples life challenges
and immutable
nature. Construct dictionaries and Construct
92
manipulate the contents functions that
Explain how to use and test the mutability and demonstrate
tuples with examples non-sequential nature of variable
dictionary shadowing
Compare tuples with
list – similarities and Design programs that use Construct
differences try statement and except tuples and
clause to test Python built-
manipulate the
Discuss dictionaries, in exceptions contents and
its structure, purpose test the
and nature (mutable Construct Python programs immutable
and non-sequence). and manipulate them to nature of tuples
test and debug errors
Explain how to use Construct
dictionaries with dictionaries,
examples manipulate the
contents and
Compare dictionaries test the
with list and tuples – mutability and
similarities and non-sequential
differences nature of
dictionary
Discuss Python
exception, the use of Design
try statement and programs that
except clause with use try
examples statement and
except clause
Discuss Python built- to test Python
93
in exceptions, and built-in
how to use them with exceptions
examples
Construct
Explain Python code Python
testing and programs and
debugging processes manipulate
with examples them to test
and debug
errors
7-8 5.1 Explain Python module, how to import Discuss Python White board, Design codes to import Guide students Perform lab
and use Python modules modules. PCs/Laptops, Python standard library to: activities on Cisco
Internet, Cisco modules using different Design codes LMS Sandbox
5.2 Describe some of the most useful Python Discuss the most LMS content, import techniques and how that import (virtual lab)
useful Python Multimedia, IDE to use entities inside the Python
standard library modules and how to use
standard library / Cisco Sandbox codes standard Take assessment
them / Code Editor,
modules and library (test) on Cisco
and flip chart
5.3 Explain how to define and construct different ways of Construct modules that modules using NetAcad LMS
Python modules importing the will have related functions,different
modules variables, as entities import Take Quiz using
5.4 Explain Python Packages, how to techniques(use tools like slido,
construct packages and use them Discuss module Design packages to have the entities kahoot, poll
construction, the constructed modules as inside the everywhere, etc.
structure, entities codes)
5.6 Explain PIP (Python Installation
requirements (e.g.,
Package) and how to use it to install and
94
uninstall ready-to-use packages from PyPI constructor, classes, Install and use PIP to Construct
etc.) and how to use install and uninstall modules that
them packages will have
related
Discuss Python functions and
packages, and variables as
compare with entities
modules
Design
Discuss PIP and how packages that
to use it to install and use theabove
uninstall packages. constructed
modules as
entities
GENERAL OBJECTIVE: 6.0Understand strings, string and list methods, and exceptions
9-10 6.1 Explain characters, strings and coding Discuss characters White board, Design Python codes to Guide students Perform lab
standards and strings PCs/Laptops, manipulate characters and to: activities on Cisco
Internet, Cisco strings Design Python LMS Sandbox
6.2 Explain Strings vs. Lists in terms of Discuss coding LMS content, codes that (virtual lab)
Multimedia, IDE
95
similarities and differences standards and how to / Cisco Sandbox manipulate
use them in programs / Code Editor, Construct programs that characters and Take assessment
6.3 Explain list methods and flip chart use list and string methods strings (test) on Cisco
Compare strings and to manipulate list elements NetAcad LMS
6.4 Explain string methods lists in terms of and strings
similarities and Construct Take Quiz using
6.5 Describe Python‘s way of handling differences with Design Python programs programs that tools like slido,
runtime errors examples that handle runtime errors use list and kahoot, poll
string methods everywhere, etc.
6.6 Explain how to control the flow of errors Discuss list methods Construct Python codes to manipulate
using try and except with examples that control the flow of list elements
errors by using try and and strings
Discuss string except
6.7 Explain hierarchy of exceptions
methods with Design Python
examples programs that
handle runtime
Discuss how Python errors
handle runtime errors
with examples Construct
Python codes
Discuss how to that control the
control the flow of flow of errors
errors using try by using try
statement and except and except
clause
Discuss hierarchy of
exceptions
96
GENERAL OBJECTIVE: 7.0Know the concepts and application of Object-Oriented Programming
11-12 7.1 Explain basic concepts of object- Discuss basic White board, Design Python codes to Guide students Perform lab
oriented programming (OOP) concepts of Object- PCs/Laptops, compare Procedural- to: activities on Cisco
Oriented Internet, Cisco Oriented Programming Design Python LMS Sandbox
7.2 Explain the differences between the Programming (OOP) LMS content, (POP) and Object-Oriented codes that (virtual lab)
Multimedia, Programming (OOP) compare
procedural and object approaches
Discussthe Python approaches Procedural- Take assessment
(motivations and profits) Interpreter, IDE
differences between Oriented (test) on Cisco
/ Cisco Sandbox
7.3 Explain Classes, objects, properties, and the procedural and / Code Editor, Construct Python Classes, Programming NetAcad LMS
methods object oriented and flip chart objects, and methods as it (POP) and
approaches relates to OOP Object- Take Quiz using
7.4 Describe Designing reusable classes and (motivations and Oriented tools like slido,
creating objects profits) Design reusable Classes Programming kahoot, poll
and create objects (OOP) everywhere, etc.
Discuss classes, approaches
7.5 Explain abstraction, encapsulation,
objects, properties Write Python codes that
inheritance and polymorphism
and methods demonstrate abstraction, Construct
inheritance, encapsulation Python
7.6 Explain exceptions as objects
Discuss how to and polymorphism Classes,
design reusable objects, and
7.8 Explain generators, iterators, and classes and how to Construct programs that methods based
closures create objects with demonstrate exceptions as on OOP
examples objects
7.9 Describe working with filesystem, Design
directory tree and files Discuss the concepts Design Python codes that reusable
of abstraction, illustrate and test Python‘s Classes and
7.10 Explain selected Python Standard inheritance, generators, iterators, and create objects
97
Library modules (OS, datetime, time, and encapsulation, and closures
calendar) polymorphism with Write Python
examples Design programs that solve codes that
real live problems using demonstrate
Discuss exceptions Python‘s standard library abstraction,
as objects with modules inheritance,
examples encapsulation
and
Discuss generators, polymorphism
iterators and closures
with their related Construct
functions (lamda, programs that
filter, etc.) and demonstrate
examples exceptions as
objects
Discuss how to work
with filesystem, Design Python
directory and files in codes that
Python illustrate and
test Python‘s
Discuss selected generators,
Python Standard iterators, and
Library modules closures
(e.g., OS, datetime,
time, and calendar) Design
programs that
solve real live
problems using
Python‘s
98
standard
library
modules
GENERAL OBJECTIVE: 8.0 Understand working with Databases in Python
13 8.1 Explain the concepts of API Discuss the White board, Create a database and Guide students
concepts of API PCs/Laptops, name it to :
8.2 Describe the different databases that Internet, Cisco Create a
Python API supports Explain the LMS content, Create and name a table, database and
different Databases Multimedia, having two fields name it
8.3 Explain MySQL database commands that Python API Python ―Name‖ and ―Address‖ in
supports Interpreter, IDE the database created Create and
/ Cisco Sandbox name a table,
Discuss database / Code Editor, Insert a record into the having two
operations, syntaxes and flip chart table fields
and functions of the ―Name‖ and
following database Query the table ―Address‖ in
commands: Create the database
Database, Create Delete a record from the created
Table, Insert, table
Select, Where, Insert a
Order by, Delete, Delete the table from the record in the
Drop Table, database table
Update, Join
Query the
table
Delete a
record from
the table
99
Delete the
table from the
database
GENERAL OBJECTIVE: 9.0 Understand Basic Data Analysis with Python
14-15 9.1 Explain the concept of Big Data Explain Big Data White board, Create a 3-dimensional Guide Outline the
and its PCs/Laptops, array using the array students to : strengths of
9.2 Outline the strengths of Python as a characteristics: Internet, Cisco command, assign data Demonstrate Python as a
programming language for Big Data Volume, Velocity, LMS content, type to the array using the functions programming
analysis. Variety, and Multimedia, dtype argument, and of NumPy by language for Big
Veracity. Python check its dimension creating an Data analysis
9.3 Explain the functions of NumPy, Interpreter, IDE using ndim Method array using
Pandas, and MatplotLib libraries Explain why / Cisco Sandbox the Array Explain
Python is a / Code Editor, Create a series using function,
unstructured and
9.4 Define Dataset and explain how it programming and flip chart the Series() Method assign data
semi structured
differs from a Database language that is and print the series type to the
used for Big Data using a Print array using data
9.5 Explain the commands used for analysis. statement. dtype
importing and exporting datasets. Give their argument, and
syntaxes Explain the Create a Dataframe in check its
functions of Pandas using the dimension
9.6 Explain the need for cleaning data in essential Python Dataframe statement and using ndim()
preparation for analysis libraries for data print it using the Print Method.
analysis such as statement
9.7 Explain correlation and why it an NumPy, Pandas, Demonstrate
important metric in data analysis and MatplotLib Import and open a CSV the functions
file using the Import of Pandas by
9.8 Explain unstructured and semi structured Explain the statement and the Open creating a
data function of () function. series using
100
Datasets with the
examples. Export CSV files using the Series()Metho
WriteRow() function d, print the
Compare series using a
Datasets and Import data into a Python Print
Databases. dataset using the Import statement.
statement and the Insert
Explain the process function Create a
of importing and Dataframe in
exporting datasets Use the Fillna() and Pandas using
Dropna() functions to the Dataframe
Explain the fill missing values and statement
process of drop missing values
cleaning and respectively in a Import and
preparing data for dataset. open CSV
analysis. files using
Calculate correlation the Import
Explain correlation using the Corr() statement
and the different method. and the
types of correlation Open()
with examples. Use the pyMongo function function.
in Pyhton to connect to
Explain MongoDB and insert, Demonstrate
unstructured and update, and delete records how to export
semi structured data using the Insert(), CSV file.
Update(), and Delete
Introduce NoSQL methods Use the
databases Fillna() and
usingMongoDB Dropna()
functions to
fill missing
101
values and
drop missing
values
respectively
in a dataset.
Illustrate
how
correlatio
n is
calculated
using the
Corr()
method.
Demonstrate
how to work
with
commands in a
NoSQL
database like
MongoDB
102
Examination Final Examination (written) to assess 40
knowledge and understanding
Test At least 2 progress tests for feedback. 10
Practical At least 5 hands-on activities to be assessed by the 50
teacher
Total 100
103
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Database Design II COURSE CODE: SWD322 CONTACT HOURS:5
GOAL: This course provides students with knowledge and skills to determine an appropriate database model for specific task.
GENERAL OBJECTIVES: Upon completion of this course, students should be able to:
1. Comprehend Data, its types, structure, and benefits of Data Integrity.
2. Understand Relational Database and Document Database.
3. Know how to use Aggregate Functions in Queries
4. Understand Query Optimization.
5. Understand Object Relational Mappers and their benefits.
104
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Database Design II COURSE CODE:SWD322 CONTACT HOURS: 5
CREDIT UNIT:3 THEORETICAL:2
YEAR: I SEMESTER: II PRE-REQUSITE:SWD312 PRACTICAL:3
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course provides students with knowledge and skills to determine an appropriate database model for specific task.
GENERAL OBJECTIVE 1.0: Comprehend Data and its types and structure.
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-2 1.1 Explain Data and its different structures. Discuss Data and its MongoDB Install and configure Guide students
two main types: MySQL, MongoDB and MySQL to set up and
structured and Relevant correctly install
unstructured data. Textbook, MongoDB and
1.2 Explain the difference between Articles, MySQL on
structured and unstructured data Distinguish between YouTube Videos their
1.3 Explain Data Integrity structured data, Computers
1.4 Define Atomicity, Consistency, which follows a
Isolation, Durability. defined schema, and
unstructured data,
1.5 Define Referential Integrity, Indexes which lacks a
predefined structure.
Discuss the
challenges and
advantages of
working with
unstructured data in
105
various applications.
Discuss the benefits
of Data Integrity
Describe the
application of ACID
in Data management.
10- 12 4.1 Define query optimization Explain query MySQL, Analyze and evaluate Guide students
optimization as the Relevant query execution plans. to:
4.2 Explain the efficiency of database process of improving Textbook, Apply indexing to an
queries and the significance of query performance. Articles, existing table to gain Demonstrate
optimization in reducing query execution YouTube Videos performance improvement. common
107
time and resource utilization. Discuss efficiency of MySQL, performance
4.3Explain indexing and its benefits on database queries and Relevant bottlenecks in
query performance the significance of Textbook, database
query optimization in Articles, queries, such
4.4 Explain indexing as a fundamental reducing query YouTube Videos as inefficient
technique for enhancing query performance execution time and joins, excessive
by providing rapid data access. resource utilization. data retrieval,
Explain the types of and lack of
database indexes, indexes.
and thier use cases. Guide students
in applying
Discuss indexing as a indexing to a
fundamental column of a
technique for table and show
enhancing query the
performance by performance
providing rapid data improvements
access. before and
after
GENERAL OBJECTIVE: 5.0 : Understand Object Relational Mappers(ORM) and their benefits
13 -15 5.1 Define Object Relational Mapper Discuss ORM as a MySQL, Configure an ORM Guide Students
programming Relevant correctly and use it to to set up an
technique for Textbook, make queries to a database ORM and
mapping database Articles, perform basic
tables to object- YouTube Videos queries
oriented code
structures. MySQL,
5.2 Explain the benefits of using ORM. Relevant
5.3 List Different ORMS Discuss the Textbook,
108
advantages of using Articles,
ORM frameworks YouTube Videos
for abstracting
database interactions.
Outline various
ORMs (like
eloquent, entity
framework,
mongoose) available
and compare their
flexibility,
performance, and
usability
109
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Front End Development I COURSE CODE: SWD323 CONTACT HOURS: 6hrs
GOAL: This course provides students with knowledge and skills for Frontend Development
GENERAL OBJECTIVES: : Upon completion of the course, students should be able to:
1. Understand The basics of Frontend development and The Browser.
2. Know HTML Structure and common HTML tags and their attributes
3. Understand Styling and Different methods used in styling HTML documents.
4. Comprehend Javascript Datatypes, Syntax, and control structure.
5. Understand The DOCUMENT OBJECT MODEL(DOM).
110
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Front End Development I COURSE CODE:SWD323 CONTACT HOURS: 6hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: I SEMESTER: II PRE-REQUSITE: PRACTICAL:4
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course provides students with knowledge and skills for Frontend Development
GENERAL OBJECTIVE 1.0: Understand the basics of Frontend development and the Browser.
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1 1.1 Define a browser, its core Discuss the Textbooks, Create a correctly Guide Students 1
components, and its functionalities. functionalities of Web Browser, configured development on Installing
web browsers Relevant environment web browsers,
1.2 Explain The use of browser including developer YouTube Identify different browsers, Text Editors,
developer tools tools, and roles of videos, their strengths and and Relevant
browsers in parsing Relevant weaknesses Extensions for
and rendering Articles, Demonstrate the use of the editor.
1.3 Explain The Steps to set up the HTML, CSS, and PC, Text Developer tools in web
development environment. JavaScript. Editor(VS browsers. Guide Students
1.4 Explain different web browsers, such Explain the Code/Vim/Subli to demonstrate
111
as Chrome, Firefox, Safari, and Edge. Classification of me) the strengths
1.5 Explain browser developer tools,different browsers Web Browsers, and
including the console, inspector, and showing their PC, Relevant weaknesses of
network monitor strengths and Publications. various
1.6 Explainclient-side and server-side weaknesses Chrome Dev browsers
scripting in web development, emphasizing Explain the workings tools Guide the
their respective responsibilities and of the Browser Sample Source students to
execution environments. developer tools code, demonstrate
Explain the Text Editor, the use of
differences between Browser, developer tools
client-side and Relevant like console,
server-side. Showing Material, network, and
their benefits and Text Book other tabs
concerns
GENERAL OBJECTIVE: 2.0 Know HTML Structure and common HTML tags and their attributes
2 2.1 Explain the foundational HTML Discuss the basics of W3schools.com Create simple web pages Guide students 2
template showing HTML and show the , Text Books, with basic HTML tags on creating a
common HTML elements commonly used tags, Relevant Create multiple web pages simple
2.2 Describe attributes of HTML tags such as headings Videos/Articles and link them together, webpage that
showing their actions and use cases. (<h1> to <h6>), W3schools.com, showing media files on the has some basic
paragraphs (<p>), https://developer various pages. header and list
lists (<ul>, <ol>, .mozilla.org tags
2.3 Explain common attributes like href, src, <li>), and anchor , Textbooks, Guide the
alt, and target. links (<a>) Relevant students on the
Explain HTML articles, and creation of
attributes of elements videos linked
like the href of <a>, webpages
showing its use and using <a>, and
relevant showing
documentation. multimedia
files such as
112
Discuss the use of images, videos,
multimedia elements and audios
(images, videos) and
hyperlinks.
GENERAL OBJECTIVE: 3.0 Understand Styling and Different methodsused in styling HTML documents.
3 -7 3.1 Explain Styling, CSS3, and its Discuss Styling, W3schools.com, Create and apply any form Guide students
fundamentals CSS3, and the https://developer of styling on existing or to demonstrate
in creating visually appealing and dynamic benefits of creating
.mozilla.org new HTML documents. the basic
backgrounds. user-friendly and , Textbooks, Create at least 3 web styling of
3.2 Explain and Identify the distinctions attractive web pages
Relevant pages withinline, internal, HTML
between inline, internal (embedded), and Discuss the three articles, and and external styles documents
external CSS styling methods methods of videos respectively using
Cascadind Style W3schools.com, Create a webpage with typography,
3.3 List the different methods of styling Sheets (CSS), theirhttps://developer external styling using fonts, text
3.4 Explain CSS Selectors order of precedence,
.mozilla.org selectors that target alignment,
and their respective
, elements and style them. color schemes,
3.5 Explain the various CSS selectors and use cases. Textbooks, Create a basic responsive and
their methods of targeting HTML elements. Relevant web layout using media background
Discuss their articles, and queries and CSS rules to properties,back
3.6 Explain Layouts advantages on videos adapt content ground size.
3.7 Discuss layout CSS3 arrangement of elements to achieve Relevant Apply different position Guide the
content global and consistent Documentation properties on elements of students
3.8 Identify the various CSS positioning styling across W3schools.com, a webpage todemonstrate
properties, including relative, absolute, multiple pages. https://developer Create a webpage with implementation
fixed, and sticky. Discuss .mozilla.org basic animations and of inline,
3.9 Explain CSS transformation and CSSselectors, , transformations internal, and
animations describing the Textbooks, external styles
element, class, id, Relevant on HTML files
attribute and pseudo- articles, and Guide the
113
selectors. videos students in the
Relevant use of selectors
Illustrate their role in Documentation and various
targeting HTML W3schools.com, pseudo-
elements. https://developer selectors (e.g.,
Explain CSS layouts .mozilla.org :hover, :focus,
using the models, , :nth-child) and
such as the box Textbooks, pseudo-
model, flexbox, and Relevant elements (e.g.,
grid, articles, and ::before,
videos ::after)
Discuss their Relevant Guide students
applicability to Documentation to implement a
designing web page W3schools.com, responsive web
layouts, showcasing https://developer layout using
their strengths and .mozilla.org media queries
weaknesses , and CSS rules
Discuss element Textbooks, to adapt
positioning in CSS, Relevant content using
its types, their articles, and grid and flex.
differences, and videos Guide students
advantages Relevant on the various
Discuss the concept Documentation positioning
of CSS W3schools.com, properties of
transformations, https://developer css, showing
including translate, .mozilla.org theirprecedenc
rotate, scale, and , e and effects.
skew, for Textbooks, Demonstrate
manipulating Relevant CSS transitions
elements, positions articles, and and animations
and shapes. videos to add basic
114
Relevant animations to
Documentation web elements,
such as smooth
transitions for
hover effects
and fade-ins.
GENERAL OBJECTIVE: 4.0 Comprehend Javascript Datatypes, Syntax, and control structure.
8- 12 4.1 Define Javascript Discuss Javascript in W3schools.com, Create a program that Guide students
Frontend https://developer works with the primitive how to:
4.2 Define Datatypes development .mozilla.org data types in Javascript
, Implement decision- Demonstrate
4.3 List data types in JavaScript Explain data types, Textbooks, making using if-else and type
4.4 Define control structures in JavaScript covering primitive Relevant swich statements, conversion and
4.5 Explain objects, arrays, and Javascript data types (number, articles, and discussing scenarios and coercion in
Object Notation(JSON) string, boolean, videos conditions for branching JavaScript,
4.6 Explain the let, const, and var keywords undefined, null) and Relevant logic. including
in Javascript complex data types Documentation Create a program that explicit and
4.7 Explain functions, (object, array, W3schools.com, stores values in JSON and implicit type
Functions‘ scope. function). https://developer iterates through them to conversions.
Explain control .mozilla.org output values
4.7 Explain anonymous functions and structures including , Create a program Demonstrate
closures conditional Textbooks, demonstrating the extensive
operations, loops, Relevant advantages of using let for usage of
4.8 Explain basic await on async function and ternary articles, and block-level scoping, different data
calls expressions. videos helping to avoid common types within
Discuss Javascript Relevant issues associated with var. JavaScript
objects, arrays, and Documentation Create reusable functions Guide students
the use of JSON for W3schools.com, with parameters and return to:
basic data exchange. https://developer values, illustrating their
115
.mozilla.org versatility in performing Demonstrate
Discuss their , various tasks. the use of
available APIs, Textbooks, loops (for and
Discuss the Relevant while)to
differences between articles, and perform
the var and let videos iterative tasks,
keywords in Relevant such as array
JavaScript, Documentation iteration and
emphasizing variable W3schools.com, data
scope, hoisting, and https://developer processing.
block-level scope. .mozilla.org
Explain Functions , Demonstrate
and emphasize their Textbooks, the use of
significance in code Relevant switch
organization, articles, and statements for
reusability, and videos multi-case
maintainability. Relevant branching,
Documentation (making code
W3schools.com, more readable
https://developer and efficient
.mozilla.org for certain
, conditions).
Textbooks, Guide Students
Relevant to:
articles, and
videos Use Arrays,
Relevant Objects, and
Documentation JSON in
Javascript.
Guide students
to:
116
Refactor code
to replace var
with let for
improved
variable
management,
consistency,
and avoidance
of potential
bugs.
Guide students
to:
Use
anonymous
and callback
functions for
asynchronous
operations,
such as event
handling and
AJAX
requests,
showcasing
real-world
applications of
JavaScript
functions.
117
GENERAL OBJECTIVE: 5.0 Understand the Document Object Model (DOM).
13 - 15 5.1 Explain the Discuss the W3schools.com, Create a program that Guide students 5.1 Explain the
the Document Object Model (DOM) and its DOM,emphasizing https://developer traverses the DOM tree to to: the Document
critical role in web development. its representation of .mozilla.org target specific elements, Object Model
web page structure as , their parents, siblings, and Demonstrate (DOM) and its
5.2 Explain element selection, attribute a tree of objects. Textbooks, modify the content of any. methods for critical role in
modification, and content manipulation. Relevant accessing and web development.
Explain element articles, and manipulating
selection, attribute videos HTML 5.2 Explain
modification, and Relevant elements element selection,
content Documentation within the attribute
manipulation. DOM tree modification, and
using content
JavaScript manipulation.
getElementBy
APIs and query
selectors
118
Practical At least 5 hands-on to be assessed by the teacher 50
Total 100
119
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Back End Development I COURSE CODE: SWD324 CONTACT HOURS: 6hrs
GOAL: This course provides students with knowledge and skills for Backend Development
GENERAL OBJECTIVES: Upon completion of the course, students should be able to:
1. Understand Backend development and its functions.
2. Know how to set up a backend development environment.
3. Understand The basics of PHP, Data types, and Control Structure
4. Understand Functions, String Manipulation, and Arrays.
5. Know how to retrieve and clean Request DATA in GET, POST, and other Global variables.
6. Understand Basic Error Handling in PHP.
7. Understand Object Oriented Programming and its principles in PHP.
120
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Back End Development I COURSE CODE:SWD324 CONTACT HOURS: 6hrs
CREDIT UNIT:3 THEORETICAL: 4
YEAR: I SEMESTER: II PRE-REQUSITE: PRACTICAL:2
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course provides students with knowledge and skills for Backend Development
GENERAL OBJECTIVE 1.0: Understand Backend development and its functions.
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1 1.3 Explain Backend Development. Discuss the reasons Textbooks,
for the separation of Relevant
the backend and Material,
front end. Articles, or
Videos.
Explain their
1.4 Explain their differences and how differences and how
they work together they work together.
1.5 List Benefits of Having Separate
Discuss the Benefits
backend and frontend
of a Separate
Backend from the
front end. (such as
same APIs for
mobile, wearables,
and all devices)
121
GENERAL OBJECTIVE: 2.0 Know how to set up a backend development environment.
2 Install and Configure
2.1 Explain the purpose of XAMPP or Discuss XAMPP, Videos, development Server Guide students
WAMP as local development LAMP, WAMPP, or XAMPP/WAMP correctly. to : Install and
environments for PHP and MySQL any chosen Or any setup PHP
PHP/Apache Server. Apache/PHP Servers
Server, Internet minimum
version 8.2
2.2 Explain The Purpose and installation of Discuss the Install and Configure
POSTMAN or Similar Technology relevance of using POSTMAN POSTMAN correctly
POSTMAN or
similar technology Demonstrate
for testing API calls installation and
familiariztion
with
POSTMAN
GENERAL OBJECTIVE: 3.0 Understand the basics of PHP, Data types, and Control Structure
3-5 3.1 Explain PHP Basic Syntax Discuss the syntax of Textbooks, Demonstrate Variable Guide students
PHP https://php.net assignment, data types, and to:
3.2 Explain primitive Datatypes, operators, Relevant dynamic typing examples
and operator precedence in PHP Explain Primitive Articles, of variable scope, Demonstrate
Datatypes, YouTube including global and local Variable
3.3 Describe variables in PHP and explain Operators, operator videos, or scope. assignment,
their role in storing and manipulating data. precedence, and Material data types, and
Dynamic typing. Textbooks, Demonstrate the use of the dynamic typing
3.4 Explain Statements in PHP https://php.net available control structure examples of
3.5 Explain Control Structure in PHP Discuss variables in Relevant in PHP to solve basic variable scope,
PHP. Articles, problems. including
YouTube global and
3.6 List the Control Structure available in videos, or local scope
122
PHP Discuss statements in Material Demonstrate
PHP. selection,
Discuss the three iteration, and
control Structures in sequential
PHP programming, operations with
basic examples
Discuss the control
structures syntax,
and how to use them.
6-8 4.1 Explain Functions and Function Syntax Discuss functions, Textbooks, Write custom functions, Guide Students
their syntax, uses, https://php.net and utilize built-in to:
and importance in Relevant functions(substr(),
making code, Articles, Implode(), explode(), create their
maintainable, simple, YouTube strlen() ) to manipulate custom
and clean videos, or strings functions,
Material Create array variables, utilize the
4.2 List types of Function Explain types of Textbooks, manipulate, and iterate built-in
functions https://php.net through items of the array.
function to
4.3 List and Explain Basic String Relevant manipulate
Manipulation Functions in PHP Explain string Articles, Add, remove, and replace strings, and
4.4 Explain Arrays manipulation YouTube values in an array. carry out
functions like videos, or repetitive tasks
strlen(), substr() Material Guide students
Discuss the array to:
4.5 List various array functions and their data Structure.
uses. create an array
Discuss Iteration variable, add
123
through arrays, and items, remov
various functions in items, and
array manipulations other array
manipulations.
GENERAL OBJECTIVE: 5.0 : Know how to retrieve and clean Request DATA in GET, POST, and other Global variables.
9-11 5.1 Explain Requests and Responses Discuss Requests Textbooks, Create a PHP script that Guide Students
and global variables https://php.net will collect data from a to:
like $_REQUEST, Relevant user, do some basic
$_GET, $_POST. Articles, manipulation and Create a PHP
YouTube operations on the data, and
script that will
Discuss the use of videos, or return a response to the collect data
json_encode and Material user. from a user, do
json_decode Textbooks, some basic
functions to send a https://php.net manipulation
5.2Explain Global variables. response to the user. Relevant and operations
Articles, on the data,
Explain how to YouTube Retrieve data from the and return a
retrieve values from videos, or GET and POST variables. response to the
5.2 List Different Global Variables global variables in Material Write a code sample user.
PHP showing the cleaning of
5.3 Explain $_GET and $_POST. Data from untrusted Retrieve data
Explain the use of sources passed as from the GET
the POST and GET parameters to an endpoint and POST
5.4 Explain how to pass parameters on URL global variables variables.
via the postman. Discuss the process Guide students
of using built-in to:
5.5 Explain processes of cleaning user- functions to clean Write a code
collected Data user data. sample
showing the
124
Explain how to avoid cleaning of
execution of Data from
dangerous untrusted
data/scripts passed sources passed
from a user as parameters
to an endpoint.
12 -13 6..1 Explain errors in PHP, including Discuss errors in http://developers Write programs showing Guide students
Exceptions, syntax errors, runtime errors, PHP, including . various errors and identify to:
and logical errors syntax errors, mozillla.org. their causes. Demonstrate
runtime errors, and W3Schools.com Demonstrate error the various
6.2 List different types of errors logical errors. Relevant handling by using try, types of errors
YouTube catch in PHP. and ways of
6.3 Show how to throw custom Exceptions Describe techniques Videos, Also, throw and handle avoiding them
in PHP and situations where Relevant custom exceptions that will and
6.4 Explain Error Handling in PHP using try custom exceptions Articles/Publicat show relevant errors to the interpreting the
and catch to handle exceptions can be thrown by the ions user error messages.
developer. http://developers Demonstrate
Discuss the use of try . error handling
and catch to handle mozillla.org. by using try,
exceptions for W3Schools.com catch in PHP.
security and return Relevant Also, throw
human-readable YouTube and handle
messages to the user. Videos, custom
Relevant exceptions that
Articles/Publicat will show
ions relevant errors
to the user
125
GENERAL OBJECTIVE: 7.0 : Understand Object Oriented Programming and its principles in PHP.
14-15 7.1 Discuss the concepts of OOP Discuss the concept http://developers Develop a program that Guide students
of classes . implements the principles to:
representing real-lifemozillla.org. of OOP. Creating an Develop a
objects to solve W3Schools.com instance of a class that program that
problems. Relevant implements inheritance, implements the
7.2 Define class and explain its structure
YouTube abstraction, polymorphism, principles of
Videos, and Encapsulation OOP. Creating
Discuss the concepts Relevant an instance of a
7.3 List and Explain the 4 principles of OOP and principles of Articles/Publicat class that
Abstraction, ions implements
Inheritance, inheritance,
Encapsulation, and abstraction,
Polymorphism polymorphism,
and
Encapsulation
126
Test At least 2 progress tests for feedback. 10
Practical At least 5 hands-on to be assessed by the teacher 50
Total 100
127
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Advanced Statistics for Computing COURSE CODE: SWD325 CONTACT HOURS: 3hrs
GOAL: This course is designed to produce students with advanced statistical knowledge for Software and Web Development.
GENERAL OBJECTIVES: On completion of the course, the student should be able to:
1. Comprehend key statistical concepts and their significance in Software and Web Development
2. Utilise statistical methods like regression and ANOVA to address real-world development challenges.
3. Demonstrate proficiency with software tools, and their libraries for data analysis.
4. Analyse time series data for web analytics and software trend prediction.
5. Understand the link between statistics and machine learning, focusing on model performance.
6. Know ethical standards in statistical analysis, emphasizing data privacy and unbiased reporting.
7. Apply advanced statistical methods for complex challenges and deeper domain study.
8.
128
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Advanced Statistics for Computing COURSE CODE:SWD325 CONTACT HOURS: 3hrs
CREDIT UNIT:2 THEORETICAL: 2
YEAR: I SEMESTER: II PRE-REQUSITE: PRACTICAL:1
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to produce students with advanced statistical knowledge for Software and Web Development.
GENERAL OBJECTIVE 1.0: Comprehend key statistical concepts and their significance in Software and Web Development
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-2 1. Define key statistical concepts. Discuss the evolution PC, Projector, Develop a timeline on the Comprehend Written test on the
2. Describe the theories behind major of statistics in Whiteboard, evolution of statistical key statistical definition and
statistical methods. software Marker, methods. concepts and history of
3. Explain the relevance of statistical development. Textbook Apply statistical theories to their statistical
methods in software and web development. Interpret the practical chapters on real-world software significance in concepts.
implications of statistical development scenarios. Software and Oral presentation
statistical theories. history. Design a mini project that Web on a chosen
Discuss how E-content on demonstrates the Development statistical theory
statistical methods foundational application of statistics in Comprehend and its
have influenced statistical software development. key statistical application.
software and web theories. concepts and Project evaluation
development over Dataset of past their based on the
time. and present significance in correct
software trends. Software and application of
Web statistical
Development methods.
Comprehend
key statistical
concepts and
129
their
significance in
Software and
Web
Development
GENERAL OBJECTIVE: 2.0 Utilise statistical methods like regression and ANOVA to address real-world development challenges.
3-4 1. Define regression analysis and its Discuss the historical PC, Projector, Develop a basic model Guide students Written test on
significance in software development. context of regression Whiteboard, using regression analysis to: regression
2. Describe ANOVA and its applications in analysis in software Marker, for a given dataset. Develop a analysis
web development. development. Textbook Apply ANOVA tests on basic model definitions and its
3. Explain non-parametric statistics and its Interpret the chapters on sample web user data to using principles.
advantages over parametric methods. differences between regression derive insights. regression Group project and
one-way and two- analysis; Design a study using non- analysis for a presentation on
way ANOVA. software like parametric tests on a non- given dataset. applying ANOVA
Discuss key non- SPSS or R. normal dataset. Apply in web analytics.
parametric tests like E-content on ANOVA tests Practical
Mann-Whitney U ANOVA on sample web examination
Test and Kruskal- principles. user data to involving data
Wallis Test. Dataset of web derive insights. analysis using
user behaviors; Design a study non-parametric
e-content on using non- methods.
non-parametric parametric
tests. tests on a non-
normal dataset.
GENERAL OBJECTIVE: 3.0 Demonstrate proficiency with software tools, and their libraries for data analysis
5-7 1. Define the functionalities of statistical Discuss the evolution PC, Projector, Develop basic scripts in R/ Guide students Written test on
software like R, Python, and SQL. and significance of Whiteboard, Python, and SQL for data to: functions and
2. Describe the purpose and usage of these tools (R, Marker, manipulation. Develop basic utilities of
libraries such as pandas, matplotlib, and Python, SQL) in data Software Apply pandas for data scripts in R/Python and
ggplot2. analytics. installations: R, wrangling and use R/Python and SQL.
130
3. Explain the process of data visualization Interpret real-world
Python, SQL matplotlib and ggplot2 for SQL for data Practical project
and its relevance in decision-making. applications where
servers; e- visualization on given manipulation. requiring data
these libraries
content on datasets. Apply pandas cleanup using
(pandas, matplotlib,
software Design a comprehensive for data pandas and
and ggplot2) have
tutorials. dashboard depicting user wrangling and visualization
made a significant
Online datasets behavior using the learned use matplotlib using
impact. for practice; tools. and ggplot2 for matplotlib/ggplot2
Discuss various data
library visualization .
visualization documentation; on given Evaluation based
techniques and their
online courses datasets. on a presentation
appropriate use-
on platforms like Design a of a dashboard
cases. Coursera. comprehensive and its insights.
Visualization dashboard
tools like depicting user
Tableau; behavior using
datasets related the learned
to web analytics. tools.
GENERAL OBJECTIVE: 4.0 Analyse time series data for web analytics and software trend prediction
8-9 1. Define time series data and its relevance Discuss the origins PC, Projector, Develop a time series plot Guide students Written test on
in web analytics. and evolution of time Whiteboard, for given web analytics to: definitions and
2. Describe patterns commonly found in series analysis in the Marker, data. fundamental
time series data, such as seasonality and computing world. Textbooks on Apply methods to Develop a time concepts of time
trends. Interpret real-world Time Series decompose a time series series plot for series data.
3. Explain techniques for forecasting future examples where Analysis; e- into its various given web Practical project
data points in a time series. pattern recognition content on components. analytics data. evaluating the
has aided business foundational Design a forecasting model Apply methods decomposition of
decision-making. concepts. for predicting future web to decompose a a time series
Discuss various Datasets traffic. time series into dataset.
forecasting models exhibiting its various Evaluation based
131
and their suitability
different time components. on accuracy and
for different
series patterns; Design a reliability of the
scenarios. online tutorials. forecasting developed
Software like R model for forecasting model.
with "forecast" predicting
package; online future web
courses on time traffic.
series
forecasting.
GENERAL OBJECTIVE: 5.0 Understand the link between statistics and machine learning, focusing on model performance.
10-11 1. Understand the foundational differences Discuss the historical PC, Projector, Develop a basic statistical Guide students A written test
between statistics and machine learning. developments of Whiteboard, model and a machine to: comparing and
2. Recognize the importance of statistical both fields and their Marker, learning model for a given Develop a contrasting
considerations in machine learning model convergence. Textbooks on dataset. basic statistical statistical models
development. Interpret case studies Machine Evaluate the performance model and a and ML models.
3. Understand the statistical methods used in where lack of Learning & of a machine learning machine Practical
model evaluation such as precision, recall, statistical Statistics; e- model by considering learning model assignment
and F1 score. considerations led to articles on their underlying statistical for a given assessing model
model failures. intersection. metrics. dataset. performance and
Discuss the Online tutorials Apply these statistical Evaluate the understanding of
mathematical emphasizing methods to evaluate a performance of metrics.
formulations of these statistical machine learning model's a machine Evaluation based
metrics and their importance in predictions. learning model on the correct
significance. ML; datasets by considering application and
with pitfalls. underlying interpretation of
E-content on statistical evaluation
model metrics. metrics.
evaluation; Apply these
online courses statistical
132
on model methods to
performance. evaluate a
machine
learning
model's
predictions.
GENERAL OBJECTIVE: 6.0 Know ethical standards in statistical analysis, emphasizing data privacy and unbiased reporting.
133
14-15 1. Understand the principles of Bayesian Discuss the PC, Projector, Apply Bayesian methods Guide students Written test on
statistics. foundational Whiteboard, on provided datasets. to: Bayesian
2. Familiarize with Structural Equation concepts of Bayesian Marker, Develop a structural Apply principles and
Modeling (SEM) techniques. thinking. Textbooks on equation model using a Bayesian their application.
3. Recognize the importance and methods of Interpret the Bayesian given scenario. inference on Evaluation of the
survival analysis. foundational and statistics; e- Design a survival analysis datasets. constructed SEM
4. Prepare for complex challenges in advanced SEM content on study based on Develop a for correctness
advanced statistical studies. methods using Bayesian vs hypothetical or real-world structural and interpretation.
examples. frequentist data. equation model Assessment based
Discuss survival approach. Evaluate complex datasets using a given on the design,
analysis techniques Software for using advanced statistical scenario. execution, and
emphasizing their SEM (e.g., methods. Design a interpretation of
real-world AMOS, survival the survival study.
applications. LISREL); e- analysis study Comprehensive
Contrast basic vs articles and based on project
advanced statistical textbooks on hypothetical or assessment
techniques for SEM. real-world focusing on
complex challenges. E-books on data. advanced methods
survival Evaluate and their
analysis; complex application.
datasets datasets using
illustrating advanced
censoring and statistical
survival events. methods.
Advanced
statistics
textbooks; case
studies
highlighting
complex
statistical
134
challenges.
135
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Research Methods in SWD COURSE CODE: SWD326 CONTACT HOURS: 4hrs
GOAL: This is designed to provide students with research methodologies for Software and Web Development.
GENERAL OBJECTIVES: On completion of the course, the student should be able to:
1. Understand the design of research projects for software and web development.
2. Construct guiding research questions and objectives to expand field knowledge.
3. Understand the research's scope for clarity.
4. Analyse existing literature to spot trends and gaps in aresearch study.
5. Utilise relevant methodologies for effective research implementation
6. . Comprehend and conclude from practical results, suggesting future studies.
7. Demonstrate findings professionally, upholding APA 7th Edition and ethical standards
.
136
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Research Methods in SWD COURSE CODE:SWD326 CONTACT HOURS: 4hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: I SEMESTER: II PRE-REQUSITE: PRACTICAL:2
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: To provide students with research methodologies for Software and Web Development.
GENERAL OBJECTIVE 1.0: Understand the design of research projects for software and web development.
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-2 1.1 Explain a research project specific to Discuss the PC, Whiteboard, Develop a draft title for a Guide students Written
software and web development. importance of having Projector, research project. to: evaluation of the
1.2 Describe the formulation of a relevant a clear research Markers, Design a relevant title for a Develop a draft proposed research
title. topic. Textbooks on reaserch project. title for a title.
1.3 Explain the importance of a clear Interpret previous research Create a problem statement research Peer review of the
problem statement. research titles in the methodology, for the research project. project. formulated titles.
1.4 Describe the process of identifying field. Online research Evaluate existing literature Design a Oral defense of
research gaps. Discuss the databases to find gaps based on the relevant title the problem
components of an Examples of research project. for a research statement.
effective problem previous project. Presentation on
statement. research titles, Create a identified research
Contrast well- Research problem gaps.
identified gaps vs. methodology statement for
vague gaps in reference guides the research
research. Articles with project.
strong problem Evaluate
statements, existing
Research literature to
137
methodology find gapbased
textbooks on the research
Online databases projects.
to explore
existing
research,
Journals related
to software and
web
development
GENERAL OBJECTIVE: 2.0 Construct guiding research questions and objectives to expand field knowledge
3-4 2.1Define research questions in the context Discuss the PC, Whiteboard, Develop research questions Guide students Written
of software and web development. characteristics of Projector, for the reserach project. to: assessment of the
2.2 Describe the importance of clear aims in good research Markers, Create a clear aim for the Develop proposed research
a research project. questions. Research research project. research questions.
2.3 Explain the function of objectives in Interpret the aims methodology Design specific objectives questions for Peer review of the
guiding a research project. from various textbooks, that align with the aim of then research clarity and
research papers in Example the research project. project. relevance of the
the field. research papers Create a clear research aim.
Discuss steps to with notable aim for the Presentation on
derive objectives questions research how the
from the main aim. Academic project. objectives will
journals in Design specific guide the
software and objectives that investigation.
web align with the
development, aim of the
Research research
methodology project.
workshops
Online modules
on research
138
objectives
formulation,
Research
methodology
textbooks
GENERAL OBJECTIVE: 3.0 Understand the research's scope for clarity.
5-6 Define the scope of research in the context
Discuss the PC, Whiteboard, Develop a clear scope for Guide students Written
of software and web development. importance of having Projector, the research project. to: assessment of the
Describe how boundaries ensure research
a defined scope in Markers, Apply learned techniques Develop a clear defined research
focus. research. Research to set boundariesfor the scope for scope.
Explain the potential pitfalls of not having a
Interpret how methodology research project theresearch Oral presentation
clear research scope. different research textbooks, Evaluate potential project. defending the
papers set their scope Research scope challenges they might face Apply learned chosen scope and
and boundaries. guidelines from if they don't set clear techniques to boundaries.
Discuss the effects of academic bodies boundaries. set boundaries Peer review
scope creep on the Exemplary for the research focusing on the
research process. research papers project. clarity and
with well- Evaluate appropriateness of
defined scopes, potential the defined scope.
Online tutorials challenges they
on scope setting might face if
Case studies of they don't set
projects that clear
suffered from boundaries.
scope creep,
Research pitfalls
articles
GENERAL OBJECTIVE: 4.0 Analyse existing literature to spot trends and gaps in aresearch study.
139
7-8 Define what a systematic literature review Discuss the purpose PC, Whiteboard, Develop a plan for Guide students Submission of a
is. and importance of Projector, conducting a systematic to: systematic review
Describe key trends and gaps in software systematic literature Markers, literature review. Develop a plan plan.
and web development based on existing reviews in research. Textbooks on Apply techniques to for conducting Oral presentation
literature. Interpret key research identify and annotate key a systematic highlighting key
Explain methodologies commonly findings from methods, trends and gaps in the literature literature findings.
employed in software and web development exemplary literature Articles chosen research topic. review. Written
research. reviews in the field. explaining Create a summarized list of Apply submission of
Discuss various systematic methodologies pertinent to techniques to chosen
research literature the research topic, identify and methodologies
methodologies and reviews justifying their relevance. annotate key with justifications.
their applicability to Published trends and gaps
different research literature in the chosen
questions. reviews in research topic.
software and Create a
web summarized
development, - list of
Journal methodologies
databases like pertinent to the
Google Scholar, research topic,
IEEE Xplore justifying their
Research relevance.
methodology
books tailored to
software and
web
development,
Methodology
webinars, online
courses
140
GENERAL OBJECTIVE: 5.0 : Utilise relevant methodologies for effective research implementation.
9-10 Define the various research methodologies Discuss the range of PC, Whiteboard,
Develop a research plan Guide students Submission of a
suitable for software and web development. methodologies and Projector,
incorporating the chosen to: detailed research
Describe the transition process from design their implications for Markers,
methodology. Develop a plan.
phase to implementation. software and web Methodology
Apply the principles research plan Demonstration of
Explain the importance of prototyping, research. textbooks,
learned to transition from incorporating a working
coding, and the build process in research. Interpret case studies Online courses
the research design to the chosen prototype or early
showing the on research
implementation. methodology. software build.
transition from methodologies
Create a working prototype Apply the Assessment of the
research design to Case study
and transition to coding principles prototype and
implementation in compendiums,
and building processes. learned to code quality;
software projects. Prototyping transition from feedback on the
Discuss the stages of tools and the research build process.
prototyping, coding, software design to
and building, Coding implementation
highlighting best platforms like .
practices. GitHub, Create a
Prototyping working
tools like Figma, prototype and
Development transition to
environments coding and
building
processes.
GENERAL OBJECTIVE: 6.0 Comprehend and conclude from practical results, suggesting future studies.
11-12 Define the key principles of data analysis in Discuss Data analysis Develop a structured Develop a Written test on
the context of software and web methodologies and software such as approach to analyze the structured data analysis
development research. techniques used in Statistica, SPSS, results of the practical approach to principles and
Describe methods for drawing valid data analysis for R, Journals and work. analyze the techniques.
141
conclusions from analyzed data. software and web
articles on data Evaluate the outcomes of results of the Submission and
Explain how to derive recommendations for development.
analysis their analysis to draw practical work. review of a
further studies based on research Interpret examples of
techniques meaningful conclusions. Evaluate the conclusion section
conclusions. conclusions drawn
Case studies of Design a set of actionable outcomes of for their project.
from various
research recommendations for their analysis Presentation and
software and web
projects, further studies in the to draw defense of
development
Textbooks on software and web meaningful recommendations
research projects.
research development domain. conclusions. in front of a panel
Discuss the process
conclusions and Design a set of or class.
of deriving
recommendation actionable
recommendations
s recommendatio
from research
Articles ns for further
findings. detailing further studies in the
studies based on software and
past research, web
Workshops on development
recommendation domain.
derivation
GENERAL OBJECTIVE: 7.0 Demonstrate findings professionally, upholding APA 7th Edition and ethical standards
13-15 Define the standards and guidelines of the Discuss the evolution PC, Whiteboard, Develop a research Guide students Submission of a
APA 7th Edition for research and significance of Projector, document adhering strictly to: Develop a research paper or
documentation. the APA guidelines Markers, APA to the APA 7th Edition research section, checked
Describe the ethical considerations essential in professional 7th Edition guidelines. document for APA
in the reporting of research findings. research. Manual, Apply ethical adhering adherence.
Explain the importance of presenting Interpret real-life Workshops or considerations in strictly to the Ethical review of
research findings in a professional manner. cases where ethical webinars on documenting and APA 7th students' research
considerations were APA formatting presenting their research Edition documentation.
overlooked in Case studies of findings. guidelines. Presentation of
research reporting. unethical Design a presentation of Apply ethical research findings
142
Discuss best research the research findings that considerations in front of a panel
practices in reporting, reflects a high degree of in documenting or class.
compiling, Ethical professionalism. and presenting
documenting, and guidelines from their research
presenting research professional findings.
findings. bodies Design a
Tutorials on presentation of
professional the research
research findings that
presentation, reflects a high
Software tools degree of
for professional professionalis
documentation m.
143
YEAR II SEMESTER I
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE:Project Management in Software and Web COURSE CODE: SWD 411 CONTACT HOURS: 3hrs
Development
CREDIT UNIT: 2 THEORETICAL: 2
GOAL: This is designed to provide students with essential project management knowledge and skills for software and web development.
GENERAL OBJECTIVES: On completion of the course, the student should be able to:
144
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Project Management in SWD COURSE CODE:SWD411 CONTACT HOURS: 3
CREDIT UNIT:2 THEORETICAL: 2
YEAR: II SEMESTER: I PRE-REQUSITE: PRACTICAL:1
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: To provide students with essential project management knowledge and skills for software and web development, using industry-standard tools and
methods.
GENERAL OBJECTIVE 1.0: Understand the essence of project management in software and web development.
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-2 1.1 Explain the fundamental principles of Discuss the PC, Projector, Develop a basic project Guide students Written test on
project management in software and web importance and Whiteboard, plan for a hypothetical to: theoretical
development. evolution of project Marker, Project software/web development Develop a concepts of
management in the Management project. basic project project
1.2 Define project plan and its components IT sector. Books, e- plan for a management.
1.3 Explain the significance of project content, PPTs Apply project management hypothetical Practical
management in ensuring successful software Case study principles to simulate real- software/web assessment based
and web development projects. materials, world scenarios. development on the application
1.4 Explain different methodologies and Explain project plan Videos Participate in group project of project
their applicability in various software and and its components Charts, discussions to share management
web development contexts. Interpret case studies Comparative findings and insights. Apply project principles.
Explain the difference between traditional where project tables management Group discussion
and modern project management techniques management played Evaluate the efficiency of principles to grading based on
and tools. a pivotal role in the Software demos, different project simulate real- understanding and
success or failure of Comparative management world insights.
IT projects. analysis papers methodologies in varied scenarios Project
145
Discuss different scenarios. Facilitate presentation and
methodologies and Select appropriate tools group assessment of the
their applicability in and strategiesfor project discussions to designed strategy
various software and management. allow students
web development share their Continuous
contexts. findings and assessment and
Contrast traditional Design a project insights. feedback on
and modern project management strategy for project plan
management software/web development Evaluate the drafts.
techniques and tools. project. efficiency of
Create a detailed project different
management plan project
incorporating all learned management
principles and tools. methodologies
in varied
scenarios.
Select
appropriate
tools and
strategiesfor
project
management.
Design a
projectmanage
ment strategy
for
software/web
development
project
Create a
146
detailed project
management
plan
incorporating
all learned
principles and
tools.
GENERAL OBJECTIVE: 2.0 Know project needs, objectives, and stakeholder communication essentials.
3-4 2.1 Identify the various needs of a project in Discuss the PC, Projector, Develop a detailed needs Guide students Written test on
the realm of software and web development. importance of clear Whiteboard, assessment mapping out to : project needs
2.2 Explain the significance of setting clear project needs Marker, Project the project requirements Develop a identification
project objectives. definition in ensuring Management and dependencies for a detailed needs concepts.
2.3 Explain the essentials of effective project success. Books, e- hypothetical software/web assessment Group activity or
communication with stakeholders in a Interpret real-life content, PPTs development project. mapping out quiz based on
project. case studies Jira, Microsoft Apply the principles of the project setting project
2.4 Describe the role and interests of various highlighting the project objective setting to define requirements objectives.
stakeholders in a project. implications of well- management clear and measurable goals and Practical
defined vs. poorly- software, Trello for a project. dependencies assessment based
defined project App, Zoho Design a comprehensive for a on the robustness
objectives. Project, communication plan hypothetical and clarity of the
Discuss various ProofHub, Gantt tailored to a specific software/web communication
communication Chart, project and its development plan.
methods and their OpenProject, stakeholders. project. Role-play or
efficacy in different Videos Evaluate the potential Apply the simulation
project scenarios. Communication impacts of decisions on principles of grading based on
Contrast the interests tools, different stakeholder objective stakeholder
and roles of different Comparative groups through simulated setting to management
stakeholders such as tables scenarios. define clear, skills.
developers, clients, Stakeholder role Create stakeholder-specific measurable Continuous
end-users, and descriptions, communication strategies goals assessment and
managers. Flowcharts that address individual following the feedback on
147
needs and concerns. SMART stakeholder
(Specific, communication
Measurable, strategies.
Achievable,
Relevant,
Time-bound)
principle.
Facilitate
group
discussions on
best practices
in
stakeholders‘
communication
.
Assess the
nuances of
stakeholders‘
management
and the
implications of
their decisions.
Create
stakeholder-
specific
communication
strategies that
address
individual
needs and
concerns.
148
GENERAL OBJECTIVE: 3.0 Utilise Project Management tools for resource, risk, and task management.
5-6 3.1 Explain the importance of clearly Discuss the PC, Projector, Develop a project scope Guide students Written test on
defined project scopes in software and web foundational Whiteboard, statement for a to: defining project
development. elements of project Marker, Project hypothetical software Develop a scopes.
3.2 Explain the value of efficient resource scope and its Management project. project scope Practical
allocation in project management. significance. Books, e- Apply resource allocation statement for a assessment based
3.3 Explain the essentials of risk Interpret case studies content, PPTs techniques to a simulated hypothetical on resource
management in software and web to highlight the Case studies, project scenario. software allocation
development projects. benefits and Videos, Charts Design a risk management project . effectiveness.
3.4 Explain the importance and usage of challenges of Risk plan, identifying potential Apply resource Group activity or
Gantt charts in project scheduling. resource allocation. management risks and mitigation allocation quiz based on risk
Discuss various risk tools such as strategies. techniques to a management
identification, Risk Create a Gantt chart for a simulated planning.
assessment, and Management hypothetical project, project Evaluation based
mitigation Software , Risk mapping out task durations scenario. on the clarity and
techniques. Registers, Monte and dependencies. Design a risk accuracy of Gantt
Discuss the structure Carlo management charts produced.
and utility of Gantt Simulation, Heat plan,
charts in project Maps, HAZOP, identifying
management. and Comparative potential risks
tables and mitigation
Microsoft strategies .
Project,
Primavera, Gantt Participate in
chart software group
demonstrations, discussions on
Examples risk scenarios
and best
practices.
Create a Gantt
149
chart for a
hypothetical
project,
mapping out
task durations
and
dependencies.
GENERAL OBJECTIVE: 4.0 Analyse the Agile and Waterfall methodologies and their application to projects.
7-9 4.1 Explain the core principles and Discuss the iterative PC, Projector, Develop an Agile product Guide students Written test on
foundations of the Agile methodology. nature, roles, and Whiteboard, backlog and sprint backlog to : Agile principles
4.2 Describe the sequential phases and ceremonies of Agile. Marker, Agile for a hypothetical software Develop an and practices.
structure of the Waterfall methodology. Discuss the linear Manifesto, project. Agile product Practical
4.3Explain the benefits and challenges of and phased approach Scrum Guide, e- Design a Waterfall project backlog and assessment based
both methodologies. of Waterfall. content, PPTs plan, highlighting each sprint backlog on the clarity and
4.4 Compare and contrast Agile vs. Interpret case studies Waterfall phase's deliverables. for a structure of the
Waterfall. highlighting methodology Evaluate a given project hypothetical Waterfall plan.
successes and charts, e-content, scenario to determine if software Group debate or
failures of each Diagrams Agile or Waterfall is more project. quiz based on
methodology. Case studies, suitable. Map out a methodology
Real-world complete selection for given
Contrast the examples, Create a presentation Waterfall scenarios.
methodologies in Videos comparing Agile and lifecycle. Presentation
terms of flexibility, Waterfall, providing evaluation based
phases, feedback Comparative recommendations for a Determine if on depth of
loops, and suitability tables, Venn given project type. Agile or comparison and
diagrams Waterfall is suitability of
more suitable recommendations
for a given
project
150
scenario.
Participate in
group
discussions on
the merits and
demerits of
each
methodology
for various
projects.
Gather data
and articulate
their
comparisons
GENERAL OBJECTIVE: 5.0Comprehend the integration of SDLC with project management
10-11 5.1 Explain the fundamental principles and Discuss the various PC, Projector, Design a flowchart Guide students Written test on
stages of the Software Development Life phases of SDLC and Whiteboard, representing the SDLC for to: SDLC phases and
Cycle (SDLC). their significance. Marker, SDLC a given scenario. Design a their functions.
5.2 Outline the role of project management Discuss how project diagrams, e- Develop a project plan flowchart Group
within SDLC. management books, PPTs integrating SDLC phases representing presentation on
5.3 Explain the challenges and pitfalls in practices align with Case studies, and project management the SDLC for a the integrated
aligning SDLC with project management. each SDLC phase. Project techniques. given scenario. project plan.
5.4 Describe how various SDLC models Interpret real-world management Evaluate a provided Assessment based
(like Waterfall, Agile) fit within project case studies tools demos, project case, identifying Identify key on the depth of
management. illustrating Videos where SDLC and PM phases and analysis in
5.5 Explain the importance of aligning challenges in SDLC Real-world integration failed. milestones. identifying
development practices with project integration with PM. examples, Case Create a presentation failures.
151
objectives. Contrast the study materials comparing the integration Develop a Presentation
integration of Comparative of various SDLC models project plan evaluation based
different SDLC charts, Industry with PM. integrating on clarity and
models with project reports, Model Apply PM techniques to SDLC phases depth of
management diagrams ensure an SDLC model and project comparison.
practices. Industry articles, aligns with a given management Practical
Discuss how project Expert talks, project's objectives. techniques. assessment of a
management ensures Videos mock project's
that SDLC aligns Participate in alignment with its
with business and group objectives.
project goals. discussions on
integrating PM
with SDLC.
Dissect
provided
project case
studies and
draw
conclusions
where PM and
SDLC
integration
failed.
Gather data on
the integration
of various
SDLC models
with PM and
craft their
comparisons.
Apply PM
152
techniques to
ensure an
SDLC model
aligns with a
given project's
objectives.
GENERAL OBJECTIVE: 6.0 Demonstrate methods for budgeting, testing, and quality assurance in projects.
12-13 6.1 Describe the techniques for project cost Discuss various PC, Projector, Apply a chosen model to Guide students Written test on
estimation. models and tools for Whiteboard, estimate costs for a given to: various cost
6.2 Explain the importance of budget cost estimation. Marker, E-books project. Select the right estimation
monitoring. Interpret real-world on cost Design a budget model based on models.
6.3 Explain the principles of software cases where budget estimation, Cost monitoring process for a project type. Presentation on
testing. monitoring led to estimation tools mock project. the designed
6.4 Explain the role of quality assurance in project success or Real-world case Develop a test plan for a Apply a chosen budget monitoring
project management. failure. studies, Articles given software scenario. model to process.
6.5 Explain the significance of delivering Discuss the various Videos on Evaluate the quality estimate costs Practical
high-quality deliverables. software testing software testing, assurance processes of a for a given assessment on the
methodologies and Testing tools given project case. project. comprehensivenes
their significance. demos Create a quality checklist Design a s of the test plan.
Discuss the Quality for ensuring top-notch budget Group discussions
differences between assurance project deliverables. monitoring and written
quality assurance and guidelines, process for a evaluations on the
quality control. Charts, e-books mock project. analyzed cases.
Discuss the Expert talks, Peer review and
repercussions of poor Industry reports Participate in assessment of the
quality deliverables group crafted quality
on project outcomes. discussions on checklist.
budget
153
challenges and
resolutions.
Create
comprehensive
test scenarios.
Develop a test
plan for a
given software
scenario
Evaluate the
quality
assurance
processes of a
given project
case.
Incorporate
industry best
practices in the
checklist.
GENERAL OBJECTIVE: 7.0Utilise Microsoft Project for effective project management and monitoring.
14-15 7.1 Explain the key features and benefits of Discuss the PC, Projector, Install, configure and Guide students Written test on the
ProjectSoftware tailored for research capabilities of Whiteboard, navigate through project to: functionalities of
projects. Project Softwaresuch Marker, software such as Microsoft Install, Project software.
7.2 Describe the process of setting up a as Microsoft Project, Microsoft Project, Primavera in configure and Practical
research project in Project software such as Primavera in the Project, creating a mock research navigate assessment on
Microsoft Project, Primavera. context of research Primavera, E- project. through project setup.
7.3 Explain the concept of task management project management. content on Design a project setup for Projectsoftware Evaluation of the
and its importance in research projects. Discuss the steps Microsoft a given research scenario such as created task list
154
7.4 Describe the process of resource involved in Project overview using Project software Microsoft and milestones.
allocation and budgeting in Project software initializing a project, Step-by-step such as Microsoft Project, Project, Group discussions
such as Microsoft Project, Primavera. setting calendars, and guides, Video Primavera. Primavera. and peer review
defining working tutorials Develop a comprehensive Design a on resource
7.5 Explain monitoring and reporting of hours. Dataset of a task list with dependencies project setup allocation and
research progress using Project software Discuss various task mock research and milestones for a mock for a given budgeting
such as Microsoft Project, Primavera. management features project, project. research techniques.
7.6 Explain the advanced features and including defining Interactive e- Evaluate a given project's scenario using
customization capabilities of Project tasks, milestones, content resource allocation and Project Assessment of the
software such as Microsoft Project, and understanding Microsoft budgeting in Project software such generated
Primavera for research dependencies. Project e-guides, software such as Microsoft as Microsoft progress reports.
Discuss the Financial Project and Primavera. Project, Practical
methodology of datasets Primavera. evaluation of the
assigning human and Create a progress report of Develop a tailored templates
material resources, Contrast a mock research project comprehensive and features
and budget different using Project software task list with
estimation. monitoring tools such as Microsoft Project, dependencies
within Project Primavera. and milestones
Contrast different software such as for a mock
monitoring tools Microsoft Design a customized project.
within Project Project, research project template Evaluate a
software such as Primavera, Gantt in Project software such as given project's
Microsoft Project, charts and Microsoft Project, resource
Primavera, Gantt critical paths. Primavera. allocation and
charts and critical Discuss the budgeting in
paths. tailoring of Project
Discuss the tailoring Microsoft software such
of Microsoft Project Project with as Microsoft
with custom fields, custom fields, Project and
templates, and templates, and Primavera.
integration with integration with
155
other Microsoft other Microsoft Create a
Office tools. Office tools. progress report
of a mock
research
project using
Project
software such
as Microsoft
Project,
Primavera
Participate in
group
discussions on
interpreting
and optimizing
project
progress
reports.
Design a
customized
research
project
template in
Project
software such
as Microsoft
Project,
Primavera .
Explore and
156
utilize
advanced
features.
157
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Embedded System Development COURSE CODE: SWD412 CONTACT HOURS: 5hrs
GOAL: This course provides the students with knowledge and Skills needed to Design and Develop Embedded Systems
GENERAL OBJECTIVES: On completion of this course the student should be able to:
158
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Embedded System Development COURSE CODE:SWD412 CONTACT HOURS: 5hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: II SEMESTER: I PRE-REQUSITE: PRACTICAL:3
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course provides the students with knowledge and Skills needed to Design and Develop Embedded Systems
GENERAL OBJECTIVE 1.0: Understand the Fundamentals of Embedded Systems Development
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-2 1.1 Define Embedded System and give Discuss the concept White Board. Explain the
examples of Embedded System Purpose of
with examples. PC and Embedded
1.2 Explain the Purpose of Embedded multimedia Systems
Systems Discuss the Purpose Projector
of Embedded Explain the
1.3 Explain the Characteristics of Systems Online lecture Characteristics of
Embedded Systems notes Embedded
1.4 Explain the Application Areas of Explain the Systems
Characteristics of Explain
Embedded Systems
Embedded Systems Application Areas
Discuss the of Embedded
Application Areas of Systems
Embedded Systems,
159
1.5 Explain the different classes of such as : consumer
Embedded Systems electronics, Telecom,
Banking, healthcare
etc.
Embedded
development
boards e.g.
Arduino
Embedded
components:
LED, ASIC,
ASIP, PLD,
COTS, and
CPLD
GENERAL OBJECTIVE: 3.0 Comprehend Embedded Systems Design Process
3.1 Define Embedded System Explain Embedded White Board and i) Write requirement Guide students
6-7 Design Process System Design marker. specifications for some to:
3.2 Explain the stages in Process selected embedded systems (i)Write
PC and requirement
Embedded Systems Design
161
Process Discuss the stages in multimedia specifications
Embedded Systems Projector for some
Design Process: ii) Draw architectural selected
requirements Online lecture design for the embedded embedded
Analysis, notes systems specified in (i) systems
specifications,
Architecture design, Draw
system integration architectural
etc. design for the
embedded
systems
specified in (i)
GENERAL OBJECTIVE: 4.0 Know Embedded Systems Communication Interface
8-9 4.1 Explain Embedded Communication Explain Embedded White Board Connect embedded system Guide students
Interface Communication and marker. to different types of to connect
Interface wireless interfaces embedded
4.2 Explain the types of communication PC and system to
Interfaces Discuss the types of multimedia different types
communication Projector of wireless
4.3 Explain the categories of Interfaces: Onboard interfaces
each type & External Wired and
Communication wireless
Interfaces communication
interfaces
Discuss the
categories of each
type of
communication
interfaces:
162
1-wireless interface,
parallel interface;
wired and wireless
interfaces – ZigBee,
GPRS, Wi-Fi etc.
GENERAL OBJECTIVE: 5.0 Comprehend Embedded Firmware Development
10 - 12 5.1 Explain Embedded Firmware Discuss Embedded White Board and Develop firmware for Guide students Explain
and its importance Firmware and its marker. specified embedded to develop importance of
importance systems using Super Loop firmware for embedded
5.2 List Embedded development PC and Approach specified firmware
languages Explain Embedded multimedia embedded Explain
5.3 Explain Embedded Firmware development Projector systems using approaches to
Development Approaches languages White Board and Super Loop developing
Explain Embedded marker. Approach embedded
Firmware firmware
Development PC and
Approaches: Super multimedia
Loop and Embedded Projector
Operating Systems
based approaches Embedded
development
boards e.g.
Arduino,
Raspberry Pi,
etc.
Enbedded
programming
languages e.g.
163
C++, Java,
Python
GENERAL OBJECTIVE: 6.0 Understand RTOS Based Embedded System Development
13 - 15 6.1 Explain Real Time Operating System Discuss Real Time White Board and Develop firmware for Guide students Explain the
(RTOS) Operating System marker. specified embedded to develop functions of
(RTOS) systems using Embedded firmware for RTOS
6.2 List examples of RTOS PC and Operating Systems based specific Explain factors
Discuss examples of multimedia approach embedded that influence
6.3 Explain the Functions of RTOS: Windows Projector systems using choice of RTOS
RTOS CE, VxWorks, Embedded for embedded
6.4 Explain factors that influence the choice MicroC/OS-II, RTOS e.gs. Operating development
RTOS for Embedded Development Symbian, Embedded Windows CE, Systems based
Linux, QNx etc. Symbian, approach Demonstrate how
Embedded to develop
Discuss the functions Linux, QNx etc. firmware using
of RTOS: Task Embedded
management, Wired and Operating
memory wireless Systems based
management, time communication approach
management etc. interfaces
Discuss factors that
influence the choice
of RTOS for
Embedded
Development
164
Assessment: Give details of assignments to be used:
165
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Front End Development II COURSE CODE: SWD413 CONTACT HOURS: 6hrs
GOAL: This course is designed to provides students with Advanced knowledge and skills in frontend development
GENERAL OBJECTIVES: Upon completion of this course, students should be able to:
1. Know how to Manipulate Document Object Model.
2. Understand Events and Event Handling
3. Comprehend the basics of Error Handling and Logging.
4. Know how to utilise Backend APIs in a Frontend application
5. Know the various frontend libraries and Frameworks
166
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE:Front End Development II COURSE CODE:SWD413 CONTACT HOURS:6hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: II SEMESTER: I PRE-REQUSITE:SWD323 PRACTICAL:4
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to provides students with Advanced knowledge and skills in frontend development
GENERAL OBJECTIVE 1.0: Know how to Manipulate The Document Object Model.
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1.1 Explain the Document Object Model Discuss the tree http://developers Utilize DOM traversal Guide the
(DOM) and its role in representing the structure of the . methods to navigate the students to
structure of web documents as a tree of document object mozillla.org. DOM tree, targeting demonstratedy
objects. model. W3Schools.com parent, child, and sibling namic changes
Relevant elements to web content,
1.2 Explain inheritance and relationship in Discuss inheritance, Youtube Videos, Create a webpage and such as
1-2 DOM. and relationship in Relevant manipulate the contents modifying text,
1.3 Describe the use of DOM. Articles/Publicat using the methods attributes, and
i) getElementById Discuss the various ions explained. styles of
ii) getElementsByClassName, methods of getting http://developers elements.
iii) querySelector access to elements in . Guide students
iv) createElement a DOM mozillla.org. to:
W3Schools.com Use
167
Discuss creating Relevant createElement
Elementsand adding Youtube Videos, ,getElementsBy
them to the DOM. Relevant ClassName,
Articles/Publicat getELementByI
ions d, and
querySelector
methods to
select multiple
elements based
on their shared
class attribute,
id, or specified
selector.
169
GENERAL OBJECTIVE: 4.0 Know how to consume Backend APIs in a Frontend application
9 -14 4.1 Define Javascript Object Notation Discuss JSON and http://developers Create dummy data Guide Students
(JSON) its uses in data . conforming to the JSON to:
interchange between mozillla.org. format Demonstrate
4.2 Explain JSON Serialization platforms W3Schools.com Implement PUT, POST, the Use of
4.3 Explain Request Methods Explain Request http://developers GET, PATCH and JSON for data
methods and the . DELETE Requests exchange
various types(such as mozillla.org. Demonstrate how to make between
4.4 List the Various Request Methods GET, POST, PUT, W3Schools.com GET and POST requests to platforms.
4.5 Explain API calls PATCH and http://developers external RESTful APIs Demonstrate
DELETE) . using the fetch function. the various
4.6 Describe the use of fetch function in Explain the fetch API mozillla.org. Demonstrate RESTful calls request
javascript as a modern and W3Schools.com using public or already methods and
efficient method for Relevant existing APIs their use cases.
4.7 Define Representational State Transfer making network Youtube Videos, Guide Students
(REST) and its principles in designing web requests in Relevant to: Implement
services. JavaScript. Articles/Publicat asynchronous
Discuss the concept ions programming
of RESTful APIs as http://developers techniques,
a means of . including
interacting with mozillla.org. promises to
remote servers over W3Schools.com manage API
HTTP. Relevant calls
Youtube Videos, effectively and
Relevant maintain
Articles/Publicat responsive web
ions applications.
Demonstrate
RESTful calls
170
using public or
already
existing APIs
GENERAL OBJECTIVE: 5.0 Know the Various frontend libraries and Frameworks available
171
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Back End Development II COURSE CODE: SWD414 CONTACT HOURS: 6hrs
GOAL: : This course is designed to provides students with Advanced knowledge and skills in backend development.
GENERAL OBJECTIVES: Upon completion of the course, students should be able to:
1. Understand Endpoint and its development.
2. Understand Session and Cookies for state management in Web applications.
3. Understand Security Practices Like Authentication, Authorization, Middleware, and Web Tokens
4. Know how to connect to a Database and handle result sets.
5. Know how to comsume other APIs by making cURL requests.
6. Comprehend Version Control and its benefits.
7. Know the available Frameworks for Backend Development.
8. Understand Testing in backend development.
172
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Back End Development II COURSE CODE:SWD414 CONTACT HOURS: 6hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: II SEMESTER: I PRE-REQUSITE:SWD324 PRACTICAL:4
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: : This course is designed to provides students with Advanced knowledge and skills in backend development.
GENERAL OBJECTIVE 1.0: Know what an Endpoint is and how to develop endpoints
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1.1 Explain Endpoints. Discuss API Textbooks, Create simple API Guide students
Endpoints as specific https://php.net endpoints, specifying their to:
URLs or routes that Relevant purpose, expected input, Implement and
1.2 Explain endpoint documentation and its allow Articles, and response format. document basic
1 benefits. communication with YouTube endpoints and
a web server or videos, or return JSON
service. Material responses to
the request.
Discuss the need for
documenting APIs
for consumption by
others.
GENERAL OBJECTIVE: 2.0 : Understand Session and Cookie management for state management in Web applications.
2-3 2.1 Define Session and Cookies. Discuss the Textbooks, Develop a simple Guide students
statelessness of web https://php.net application that to:
2.2 Explain The statelessness of a web applications and the Relevant implements session and Develop a
application. concepts of sessions Articles, cookies management. simple
and cookies as YouTube application that
mechanisms for videos, or Demonstrate techniques of implements
173
maintaining state and Material, maintaining user state session and
2.3 Differentiate between Cookies and user data. Text Editor (VS using Session and Cookies cookies
Session Code/Sublime/ in a secure way. management
Explain the Vim/Any)
differences, benefits, Demonstrate
and use cases techniques of
ofcookies and maintaining
sessions. user state using
Session and
Cookies in a
secure way.
GENERAL OBJECTIVE: 3.0 Understand security practices like Authentication, Authorization, Middleware and Web Tokens
4 -6 3.1 Explain Endpoint Security and why we Discuss the need for Textbooks, Develop a simple login app Guide students
need it. basic security to https://php.net that takes user input and to:
provide login/ access Relevant returns a token based on Develop a
3.2 Explain vulnerabilities such as SQL to resources on an Articles, authentication simple login
injection, Cross-Site Scripting (XSS), and endpoint. YouTube app that takes
Cross-Site Request Forgery (CSRF). videos, or Implement simple tokens user input and
3.2 Explain Authentication Tokens Discuss Material, with 5 minutes expiration returns a token
vulnerabilities such Text Editor (VS period based on
as SQL injection, Code/Sublime/ Demonstrate a basic authentication
3.3 List Various Authentication Token Cross-Site Scripting Vim/Any) understanding of
Types (XSS), and Cross- Textbooks, Authorization for roles and Implement
3.4 Describe Authorization and its benefits Site Request Forgery https://php.net permissions on Resources simple tokens
in securing a web application. (CSRF). Relevant with 5 minutes
Discuss Articles, expiration
3.5 Explain Roles and Permissions in Authentication YouTube period.
Authorization tokens and how they videos, or Guide students
174
3.6 Describe Middleware and its uses in are used. Material, to:
Request Handling Text Editor (VS Implement
Discuss the various Code/Sublime/ ways of
authentication tokens Vim/Any) restricting
(like OAuth, OAuth Textbooks, access to
2.0, JWT, and more) https://php.net resources that
Discuss the concept Relevant they do not
of authorization in Articles, have rights to
securing a web YouTube view, change,
application. videos, or or delete,
Material
Explain Tthe need Textbooks,
for Authorization to https://php.net
limit Authenticated Relevant
users from accessing Articles,
resources they do not YouTube
have the privileges to videos, or
view, modify, or Material
delete
Discuss the nature of
middleware
providing onion-like
layers of protection
that each request has
to pass through.
GENERAL OBJECTIVE: 4.0 Know how to connect to a Database and handle result sets.
7-8 4.1 Explain Database Connection. Explain Database Textbooks, Demonstrate various Guide students
connections. https://php.net database connection to:
4.2 Describe Connection strings and Relevant methods like PDO, mysqli, Demonstrate
175
Connection Parameters Discuss the use of Articles, and any other useful database
4.3 Explain various connection methods like connection strings to YouTube database connection various
PDO, mysqli, and any other useful connect to a database videos, or method. connection
connection method. in an application. Material Develop a simple methods like
4.3 Execute Basic Queries on a Database application that will utilize PDO, mysqli,
and Retrieve Data into a result set variable PDO Docs a database connection and any other
Discuss various MySqli Docs object to retrieve, modify, useful database
4.4 Describe traversal through the result set connection methods Textbooks, or remove resources on the connection
using loops in PHP like PDO, mysqli, https://php.net database using the correct method.
and any other useful Relevant Database User privileges Guide students
connection method. Articles, to:
Discuss the YouTube Create an
execution of basic videos, or application that
queries and the Material executes basic
manipulation of select, update,
result set data after PDO Docs insert, and
retrieval from the MySqli Docs delete queries
Database system on a Database
management
system
GENERAL OBJECTIVE: 5.0 Know how to consume other APIs by making cURL requests.
9 5.1 Explain cURL in PHP. Discuss the concept Textbooks, Develop a simple app that Guide students
of making external https://php.net makes an external API call to:
API calls to retrieve Relevant and receives its response, Make external
relevant Data and Articles, parses it, and presents it. API calls and
process it on the YouTube process the
back end before videos, or result based on
sending it to the front Material, the external
end. Text Editor(VS API
176
Code/Sublime/ documentation
5.2 Describe how to make cURL calls to Describe the process Vim/Any) and retrieve at
other endpoints in a web app of making API calls least one
to any gateway in a information
Backend Application from the
(e.g. payment returned Data.
gateway)
GENERAL OBJECTIVE: 6.0 Comprehend Version Control and its benefits
10-11 6.1 Explain Version Control Discuss the need and Textbooks, Create GitHubaccount Guide students
benefits of version https://php.net to:
control. Relevant Demonstrate the use of Create a
Articles, GitHub for version control GitHub
6.2 Explain GIT Explain Git and its YouTube using a simple application account
snapshot method of videos, or
storing information Material, Demonstrate
as it is at a point in Text Editor(VS the use of
time and track Code/Sublime/ GitHub for
changes made on Vim/Any) version control
documents. Git Docs using a simple
application
Explain the basic Git
commands likeadd,
commit, push, pull,
merge, and more.
177
BitBucket and
GitHub for
collaborations,
tracking changes,
and storage of source
codes.
GENERAL OBJECTIVE: 7.0 Know the available Frameworks that are good for Backend Development.
14-15 8.1 Explain Testing Discuss testing in Textbooks, Conduct a simple code Guide students
backend https://php.net testing process using any to:
development. Relevant software testing tools Demonstrate a
Articles, likeXDebug, Selenium or simple code
178
8.2 List and Explain Types of Testing Explain its benefits YouTube Apache JMeter testing process
on workload videos, or using any
reduction, code Material, software
quality improvement, Selenium, testing tools
8.3 Discuss Benefits unit and system testing and integrity. JMeter like ,
in Backend development , XDebug. XDebugSeleni
Discuss unit testing um or Apache
and system testing. JMeter
179
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Software Design and Architecture COURSE CODE: SWD415 CONTACT HOURS: 6hrs
GENERAL OBJECTIVES: On completion of the course, the student should be able to:
1. Understand the essential elements of software design and architecture.
2. Apply design principles, design patterns, architectural patterns and system decomposition:
3. Know scalability, performance and security considerations in software design
4. Comprehend the design of systems for Integration and Interoperability.
5. Understand software documentation, communication, evaluation and analysis
6. Understand case studies and practical applications of software designs while exploring
180
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Software Design and Architecture COURSE CODE:SWD415 CONTACT HOURS: 6hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: II SEMESTER: I PRE-REQUSITE: PRACTICAL:4
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to provide students with knowledge and skills on Software Design and Architecture.
181
documentation and Tradeoffs principles in creating within a software system, the system's
software presentations and understand how they structure to
architecture, explaining interact to fulfill the team members
1.5. Understand Architecture Evaluation including principles architectural system's functionality. and
like separation of concepts. stakeholders.
concerns, Analyze trade-offs in
1.6. Understand communication and modularity, and software architecture Identify the
ethical considerations in software abstraction. decisions. key
design components
and modules
Discuss different within a
architectural styles, software
(such as client- system, and
server, understand
microservices, how they
monolithic, and interact to
event-driven fulfill the
architectures) and system's
understand the functionality.
advantages and
disadvantages of Analyze trade-
each. offs in software
architecture
Explain the common decisions. For
architectural patterns example,
(such as Model- understanding
View-Controller that optimizing
(MVC), Layered for one quality
Architecture, and attribute (e.g.,
Service-Oriented performance)
Architecture (SOA)) may lead to
182
and understand when trade-offs in
and how to apply other areas
them. (e.g.,
maintainability
).
Explain how
software architecture
decisions impact
non-functional
attributes (quality
attributes) (like
performance,
scalability, security,
and maintainability)
and be able to make
informed design
choices to meet
specific quality
goals.
Explain techniques
for evaluating and
reviewing software
architectures,
including
architectural reviews,
code inspections, and
architectural
modeling tools.
183
Explain software
architecture concepts
and explain how to
communicate
effectively about
software architecture
concepts with both
technical and non-
technical
stakeholders,
facilitating better
decision-making and
understanding
GENERAL OBJECTIVE: 2.0Apply design principles, design patterns, architectural patterns and system decomposition:
4-6 2.1. Explainsoftware design principles such Discuss software PowerPoint, Apply the Don't Repeat Guide the students
as SOLID, DRY and KISS principles design principles, Google Slides, Yourself (DRY) principle to :
including SOLID or Prezi for to eliminate code Apply the
principle (Single creating duplication and promote Don't Repeat
2.2. Explain design and Architectural Responsibility, presentations code reusability. Yourself
patterns. Open-Closed, Liskov explaining (DRY)
Substitution, architectural Apply the Keep It Simple, principle to
Interface concepts. Stupid (KISS) principle to eliminate code
2.3. Explain System Decomposition Segregation, design simple and duplication
Dependency Visual Studio, straightforward solutions and promote
Inversion) and DRY IntelliJ IDEA, rather than code
2.4. ExplainTrade-offs and how design (Don't Repeat Eclipse, or overcomplicating designs. reusability.
decisions affect testing strategies and Yourself). JetBrains Rider
coverage. for writing, Identify common design Apply the
Explain how to testing, and patterns such as creational, Keep It
184
evaluate and select debugging code structural, and behavioral Simple,
2.5. Explain Documentation and the most suitable patterns. Stupid (KISS)
Communication architectural patternOnline principle to
for a given project resources or Design clear and well- design simple
based on its books about defined interfaces between and
requirements and design patterns, modules to facilitate straightforwar
constraints. such as "Design communication and d solutions
Patterns: collaboration rather than
Explain how to adapt Elements of overcomplicat
and modify design Reusable Identify various ing designs.
patterns to suit Object- architectural patterns (e.g.,
unique project Oriented Model-View-Controller, Identify
requirements. Software" by Microservices, Layered common
the Gang of Architecture). design patterns
Explain how to Four. such as
manage Apply appropriate design creational,
dependencies Enterprise patterns to solve specific structural, and
between modules to Architect, design problems behavioral
minimize coupling Visual efficiently. patterns.
and promote Paradigm, or
reusability. PlantUML for Apply architectural Design clear
creating UML patterns to structure and well-
diagrams to software systems defined
Discuss how to visualize design effectively. interfaces
Integrate modules patterns and between
and components into architectural Decompose complex modules to
a cohesive system, concepts systems into manageable facilitate
considering factors modules or components, communication
like data flow, ensuring that each module and
communication has a well-defined collaboration
protocols, and error responsibility.
185
handling. Identify
Design clear and well- various
Explain how to defined interfaces between architectural
evaluate trade-offs modules to facilitate patterns (e.g.,
when choosing communication and Model-View-
design principles, collaboration. Controller,
patterns, and Microservices,
architectural Apply design principles, Layered
patterns. patterns, architectural Architecture).
patterns, and system
Explain design decomposition techniques Apply
decisions and how to real-world software appropriate
they may impact design projects. design patterns
system qualities like to solve
performance, Show how these concepts specific design
maintainability, and are used in practice and problems
scalability. adopt them to address efficiently.
specific project challenges.
Explain how to make Apply
informed design Plan and conduct tests to architectural
decisions by validate that the chosen patterns to
considering project design principles and structure
requirements, patterns meet the desired software
constraints, and the functional and non- systems
long-term goals of functional requirements. effectively.
the system.
Decompose
Explain how to apply complex
design principles, systems into
patterns, manageable
architectural modules or
186
patterns, and system components,
decomposition ensuring that
techniques to real- each module
world software has a well-
design projects. defined
responsibility.
Explain how these
concepts are used in Design clear
practice and adopt and well-
them to address defined
specific project interfaces
challenges. between
modules to
facilitate
communication
and
collaboration.
Apply design
principles,
patterns,
architectural
patterns, and
system
decomposition
techniques to
real-world
software
design projects.
Demonstrate
187
how these
concepts are
used in practice
and adopt them
to address
specific project
challenges.
7-8 3.1. Explain scalability, performance, and Discuss scalability in PowerPoint, Plan and conduct Guide students to7-8
security considerations in software design. the context of Google Slides, scalability testing to :
software design and or Prezi for evaluate system Demonstrate
3.2. Explain the importance of capacity architecture, creating performance under scalability
planning to ensure that a system can scale to emphasizing the presentations different levels of load. testing to
meet anticipated future demands. ability of a system to explaining evaluate
handle increased architectural Conduct load testing to system
3.3. Identify and define performance workloads concepts. measure system performanceperformance
metrics, including response time, gracefully. under various levels of load under different
throughput, and resource utilization. Apache JMeter, and stress. levels of load.
Explain the key LoadRunner, or
3.4. Explain fundamental security factors affecting Gatling. Implement performance Conduct load
188
principles, including confidentiality, scalability, including monitoring and profiling tools
testing to
integrity, and availability (CIA triad). horizontal and OWASP ZAP, to continuously monitor measure system
vertical scaling, load Nessus, or Burp system performance and performance
3.5. Understand the trade-offs between balancing, and Suite diagnose issues. under various
performance optimization and scalability, as distributed systems. levels of load
optimizing for one may impact the other. New Relic, Apply secure design and stress.
Explain how to AppDynamics, principles, such as the
3.6. Explain ethical and legal identify and address or Prometheus principle of least privilege, Implement
responsibilities related to data privacy, performance input validation, and performance
security, and responsible technology use. bottlenecks in a secure authentication and monitoring and
software system. authorization. profiling tools to
3.7. Explain the implications of data continuously
breaches and security lapses on individuals Explain the strategies monitor system
and organizations. for designing performance and
scalable systems, Implement secure diagnose issues.
(such as partitioning communication protocols
data, caching, and (e.g., HTTPS) and encryptionApply secure
using asynchronous to protect data in transit. design
processing). principles, such
Identifythe trade-offs as the principle
Explain techniques between security measures of least
for optimizing and user-friendly design, privilege, input
software and make informed validation, and
performance, such as decisions that balance secure
code profiling, security with usability. authentication
database indexing, and
and algorithmic authorization.
improvements
Implement secure
Explain how to communication
perform threat protocols (e.g.,
189
modeling to identify HTTPS) and
potential security encryption to
threats and protect data in
vulnerabilities in a transit.
software system.
Demonstratethe
Explain security trade-offs
testing techniques, between security
including penetration measures and
testing and user-friendly
vulnerability design, and make
scanning, to assess informed
and improve the decisions that
security of a system balance security
with usability.
Explain industry-
specific security
standards,
compliance
requirements, and
legal regulations
(e.g., GDPR) that
may impact software
design and data
handling.
GENERAL OBJECTIVE: 4.0 Comprehend the design of systems for Integration and Interoperability:
9-11 4.1. Explain the design of systems for Discuss integration PowerPoint, Show how to use various Guide students to
integration and interoperability. and interoperability Google Slides, or integration technologies, :
190
in the context of Prezi for creating such as RESTful APIs, Use various
software systems. presentations SOAP, message queues, integration
4.2. Explain the challenges and methods for explaining and web services technologies,
integrating data from heterogeneous Distinguish between architectural such as
sources, including databases, data the two concepts concepts. Compare and contrast RESTful APIs,
warehouses, and external APIs. (understanding that different integration SOAP,
integration refers to API Developmenttechnologies, considering message
4.3. Explain Service-Oriented Architecture connecting different Tools such as factors like performance, queues, and
(SOA). systems or Postman, Swagger, scalability, and web services
components, while or Insomnia compatibility with existing
interoperability systems Compare and
4.4. Explain API versioning, authentication, focuses on ensuring RabbitMQ, Apache contrast
and security considerations in API design. these systems can Kafka, or AWS Design and implement different
work together SQS for services using SOA integration
seamlessly). implementing principles, including technologies,
4.5. Explain Message formats and Protocols. messaging systems. service discovery, considering
Explain various composition, and factors like
integration Apache Camel, orchestration. performance,
4.6 Explain middleware and Enterprise technologies, such as MuleSoft, or scalability, and
Service Buses (ESBs) and Integration RESTful APIs, Apache ServiceMix Show how the various compatibility
patterns. SOAP, message for message formats (e.g., with existing
queues, and web JSON, XML) and systems
services. protocols (e.g., HTTP,
4.7 Explain how adherence to standards MQTT) are used in system Design and
promotes system compatibility. Explain data integration. implement
transformation services using
techniques, data Demonstrate how SOA
mapping, and data middleware and Enterprise principles,
validation for Service Buses (ESBs) are including
effective data used as tools for managing service
integration. complex integrations and discovery,
191
mediating between composition,
Explain the systems. and
principles of SOA orchestration.
and its role in Demonstrate common
enabling integration patterns such as
Demonstrate
interoperability publish-subscribe, request-the various
through service- reply, and point-to-point, message
based and explain when to apply formats (e.g.,
communication. them in integration JSON, XML)
scenarios. and protocols
Explain how to (e.g., HTTP,
design clean and Implement integration MQTT) are
well-documented patterns using appropriate used in system
APIs that promote technologies and tools. integration.
ease of integration
for external Develop strategies for Demonstrate
developers and testing and validating how
systems. integrated systems to middleware
ensure data consistency, and Enterprise
error handling, fault Service Buses
Explain various tolerance and perform (ESBs) are
message formats integration testing and used as tools
(e.g., JSON, XML) validation to identify and for managing
and protocols (e.g., resolve integration issues. complex
HTTP, MQTT) used integrations
in system integration. Design robust error and mediating
handling mechanisms to between
Explain common gracefully handle systems.
integration patterns integration failures and
(such as publish- recover from errors. Demonstrate
subscribe, request- common
192
reply, and point-to- Implement effective integration
point) and logging and monitoring patterns such
understand when to practices to track as publish-
apply them in integration activities and subscribe,
integration scenarios. diagnose issues. request-reply,
and point-to-
point, and
explain when
to apply them
Explain industry in integration
standards and scenarios.
protocols (such as
REST, SOAP, and Implement
OData) that facilitate integration
interoperability patterns using
between systems. appropriate
technologies
and tools.
Develop
strategies for
testing and
validating
integrated
systems to
ensure data
consistency,
error handling,
fault tolerance
and perform
integration
193
testing and
validation to
identify and
resolve
integration
issues.
Design robust
error handling
mechanisms to
gracefully
handle
integration
failures and
recover from
errors.
Implement
effective logging
and monitoring
practices to track
integration
activities and
diagnose issues.
GENERAL OBJECTIVE: 5.0Understand software documentation, communication, evaluation and analysis
12-13 5.1 Explain software documentation Skills Explain software PowerPoint, Create a comprehensive Guide students
documentation, Google Slides, or and well-organized to:
communication, Prezi for creating software documentation, Create a
5.2 ExplainEffective Communication in evaluation, and presentations including technical comprehensive
194
Software Documentation. analysis. explaining specifications, user and well-
architectural manuals, and design organized
Explain how to concepts. documents. software
5.3 Explainthe importance of version control communicate documentation,
systems (e.g., Git) in software development. technical concepts, Confluence, including
design decisions, and Microsoft Word, or
Use appropriate technical
5.4 Explainthe Use of Unified Modeling project updates Google Docs documentation tools and specifications,
Language (UML) Diagrams effectively to both formats to convey user manuals,
technical and non- Slack, Microsoft information clearly and and design
5.5 ExplainAPI and User documentation technical Teams, or Zoom concisely. documents.
stakeholders
JIRA, Trello, or
Explain Unified Asana for trackingDocument and Use
Modeling Language and managing communicate version appropriate
(UML) diagrams, software control processes and documentation
including class development tasks.workflows to team tools and
diagrams, sequence members. formats to
diagrams, and GitHub or GitLab convey
activity diagrams, for tracking information
and how it can be changes in code Create use case diagrams clearly and
used to visually and documentation.to represent the concisely.
represent software interactions between
architecture and system components and
behavior. stakeholders, helping to Document and
define system communicate
Explain how to functionality. version control
produce processes and
comprehensive API workflows to
documentation that Create flowcharts, data team members.
includes endpoints, flow diagrams, and other
request/response visual aids to illustrate
195
formats, system processes, data Create use case
authentication flows, and decision- diagrams to
methods, and usage making logic. represent the
examples interactions
between
Explain the Produce comprehensive system
importance of API documentation that components
keeping includes endpoints, and
documentation up-to- request/response formats, stakeholders,
date as the software authentication methods, helping to
evolves and changes. and usage examples. define system
functionality.
Develop user-friendly
documentation that assists Create
end-users in understanding flowcharts,
software functionality and data flow
how to use the system diagrams, and
effectively. other visual
aids to
illustrate
Create change logs and system
release notes that processes, data
document software flows, and
updates, bug fixes, and decision-
new features, helping users making logic.
and developers stay
informed.
Produce
comprehensive
Conduct documentation API
196
audits to ensure documentation
compliance with that includes
organizational and endpoints,
regulatory standards request/respons
e formats,
authentication
Create UX documentation methods, and
that describes user usage
personas, user journeys, examples.
and wireframes to inform
design decisions and
enhance user satisfaction. Develop user-
friendly
documentation
that assists
end-users in
understanding
software
functionality
and how to use
the system
effectively.
Create change
logs and
release notes
that document
software
updates, bug
fixes, and new
197
features,
helping users
and developers
stay informed.
Conduct
documentation
audits to ensure
compliance
with
organizational
and regulatory
standards
Create UX
documentation
that describes
user personas,
user journeys,
and
wireframes to
inform design
decisions and
enhance user
satisfaction.
GENERAL OBJECTIVE: 6.0 Understand case studies and practical applications of software designs while exploring ethical and legal considerations
198
14-15 Explain how to PowerPoint, Analyze and dissect real- Guide students to:
analyze and dissect Google Slides, or world software design case Analyze and
real-world software Prezi for creating studies to understand the dissect real-world
design case studies to presentations challenges, decision-makingsoftware design
understand the explaining processes, and outcomes. case studies to
challenges, decision- architectural understand the
making processes, concepts. Identify lessons and best challenges,
and outcomes. practices from case studies decision-making
that can be applied to processes, and
Discuss and evaluate future software design outcomes.
ethical implications projects.
of design decisions, Identify
considering potential Implement secure lessons and
consequences on authentication, best practices
6.1 Explain case study analysis of software users and society. authorization, and data from case
design encryption mechanisms. studies that can
be applied to
6.2 Explain practical application of Explain thelegal future software
Software design. requirements and design projects.
regulations that
6.3 Explain ethical considerations and legal impact software Implement
compliance design, such as data secure
protection laws (e.g., authentication,
6.4 Explain Security, Privacy and Risk GDPR), intellectual authorization,
Assessment property rights, and and data
accessibility encryption
6.5 Explain Accessibility and Inclusivity standards (e.g., mechanisms.
ADA).
6.6 Explain Professionalism and
Accountability in Software Development
Explain how user-
199
centered design
principlesis used to
create software
solutions that
prioritize user needs,
accessibility, and
usability.
Explain how to
incorporate security
and privacy
considerations into
software design,
addressing
vulnerabilities and
safeguarding
sensitive data.
Explain how to
design software with
accessibility in mind
to ensure that it is
usable by individuals
with disabilities.
200
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Advanced Data Structures and Algorithms COURSE CODE: SWD416 CONTACT HOURS: 6hrs
GENERAL OBJECTIVES: On completion of this course the student should be able to:
1. Comprehend basic concept of data structures
2. Understand Graph data structures
3. Understand Advanced Sorting and Searching Algorithm
4. Know Advanced Tree data structures
5. Know Advanced Stack data structures
6. Comprehend Advanced Queue Data Structures
7. Understand Asymptotic Analysis.
.
201
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Advanced Data Structures and COURSE CODE:SWD416 CONTACT HOURS: 6hrs
Algorithms
CREDIT UNIT:3 THEORETICAL: 2
Build a Graph
to Identify
important
keywords.
Write code to
find the closest
pair of points
205
in a set of 2D
points using
the divide and
Conquer
Algorithm
Use Random
Point
generation to
test the
Algorithm's
performance
with varying
input sizes.
206
Complexity Fibonacci searching
Search,Trie (Prefix Create a simple Text Algorithms
3.4 Describe Radix Sort Tree) Search,Suffix Search Engine that can like Binary
Algorithm, it‘s time Array and Suffix find keywords in a search,
Complexity and Space Tree Searches, collection of documents. Interpolation
Complexity Bidirectional Search, search, and
Hashing etc). Exponential
3.5 Describe Tim Sort search on
Algorithm, it‘s time different
Complexity and Space datasets.
Complexity
Create a
3.6 Describe ..Intro Sort.. Simple Text
Algorithm, it‘s time Search Engine
Complexity and Space that can find
Complexity keywords in a
collection of
3.7 Describe Searching documents.
Techniques such as:
Fibonacci Search,Trie
(Prefix Tree)
Search,Suffix Array and
Suffix Tree Searches,
Bidirectional Search,
Hashing, Binary Search,
etc
207
4.1 Describe Adelson-Velsky and Landis Explain AVL, Red- Use Python or any Guide
(AVL) and Red- Black Trees, B- White board Programing language to Students to:
8-9 Black Trees Trees and B+Trees and multimedia implement the splaying
in terms of the projector operation for a binary Use Python or
4.2 Describe B-Trees and B+ overview, properties, search tree (BST) to bring any
Trees balancing properties, Textbooks a specific node to the root. Programing
advantages, dis- language to
4.3 Discribe Splay Trees advantages and Online resources Create a basic Trie to store Implement the
applications like and search for words splaying
4.4 Describe Trie (Prefix GeeksforGeeks operation for a
Tree) Explain Splay Trees binary search
the overview, basic Tutorials on tree (BST) to
4.5 Describe Segment Trees operations, splaying YouTube bring a specific
operation, node to the
advantages, root.
disadvantages,
balancing and Create a basic
applications Trie to store
and search for
Explain Trie (Prefix words
Tree) in terms of
the overview,
properties,
advantages,
disadvantages and
applications
Explain Segment
trees in terms of the
overview, properties,
construction,
208
advantages,
disadvantages and
applications
10-11 Explain Min Stack White board Create a stack that supports Guide Students
5.1 Describe Min Stack and and Max Stack and multimedia both minimum and to:
Max Stack projector maximum value retrieval
Discuss expression in constant time. Create a Stack
5.2 Describe Expression evaluation Textbooks that supports
Evaluation Design a Stack with both minimum
Explain Convertion Online resources "GetMin" and "GetMax" and maximum
5.3 Describe Convertion between infix, Methods value retrieval
between infix, postfix, postfix, and prefix Tutorials on in constant
and prefix notations. notations. YouTube Create a program that time.
evaluates simple arithmetic
5.4 Explain Monotonic Stack Explain Monotonic expressions that will Design a Stack
Stack support a variety of with "GetMin"
5.5 Explain Stack as a operators (+, -, *, /, and "GetMax"
Function Call Stack Explain Stack as a parentheses) in infix Methods
Function Call Stack notation.
Create a
Use a stack to handle program that
operator precedence and evaluates
parentheses. simple
arithmetic
Implement error handling expressions
to detect and report syntax that will
209
errors in expressions, such support a
as unmatched parentheses variety of
or invalid operators operators ( +, -,
*, /,
Create a program that parentheses) in
converts infix expressions infix notation.
to postfix notation, infix
expressions to prefix Use a stack to
notation and postfix handle operator
expressions back to infix precedence and
notation. parentheses.
Create a
program that
converts infix
expressions to
postfix
notation, infix
expressions to
210
prefix notation
and postfix
expressions
back to infix
notation.
Verify the
correctness of
your
conversion by
comparing the
results with
manual
conversions.
Write a Python
program to find
the nearest
smaller
element for
each element in
an input array
using a
monotonic
stack.
211
GENERAL OBJECTIVE: 6.0 ComprehendAdvanced Queue Data Structures
12-13 6.1 Describe Double-ended Explain Double- White board Create a program that Guide Students
Queue (Deque) ended Queue and multimedia demonstrates deque to:
(Deque) projector operations:
6.2 Describe Queue Textbooks - Import the deque Create a
Scheduling Algorithms: Discuss Queue Online resources module program that
Priority and Roun Robin Scheduling Tutorials on - Create a deque demonstrates
Algorithms(Priority YouTube - Adding elements deque
6.3 Explain Deque and Roun Robin) - Removing operations:
Applications Elements - Import the
Explain Deque deque
6.4 Describe Queue Applications create a simple priority module
Applications in BFS queue using Python or any - Create a
Explain Queue programming language deque
6.5 Describe the Sliding Applications in BFS - Adding
Window Problems Simulate Round Robin elements
Explain the Sliding scheduling using a list in - Removing
6.6 Explain Circular Queue Window Problems Python. Elements
212
fixed size k. using a list in
Python.
Implementing a circular
queue in Python Demonstrate
how BFS,
using a queue,
can be applied
to find the
shortest path
between nodes
and determine
graph
connectivity.
Given an array
of integers,
find the
maximum
possible sum of
a subarray of a
fixed size k.
Implement a
circular queue
in Python
GENERAL OBJECTIVE: 7.0 Understand Asymptotic Analysis
14-15 7.1 Describe Asymptotic Explain Asymptotic White board Implement and analyze the Guide
Analysis, the Purpose and Analysis, the and multimedia best case/worst- Students to:
Notations Purpose and projector case/average-case time
213
Notations complexity of: Implement and
7.2 Describe Best-case, Average-case and Textbooks analyze the
worst-Case Analysis Explain best-case, - simple sorting worst-
Average-case, worst- Benchmarking Algorithms case/average-
7.3 Describe the Comparative Case Analysis and Libraries (e.g., - Merge Sort and case/ best-case
Analysis Comparative timeit in Python) QuickSort time
Analysis -Binary Search complexity of:
7.4 Describe the Common - Tree Traversal
Complexity Classes Explain the Common - Graph Algorithms - simple sorting
Complexity Classes, etc. Algorithms
7.5 Describe Limitations Limitations and - Merge Sort
and Practical Use Practical Use Use benchmarking and
libraries (e.g., timeit in QuickSort
7.6 Describe its Application Explain its Python) to measure the -Binary Search
to Data Structures Application to Data actual runtime of your - Tree
Structures worst-case scenarios and Traversal
compare them to the - Graph
theoretical analysis Algorithms
etc.
Implement simple
algorithms or functions Use
with constant time Benchmarking
complexity. Libraries (e.g.,
timeit in
Write code to perform Python) to
binary search in a sorted measure the
array and analyze its actual runtime
logarithmic time of your worst-
complexity case/ average-
case/ best-case
Review and analyze code scenarios and
214
written by others or compare them
available in open-source to the
projects to identify the theoretical
complexity classes of the analysis
algorithms used.
Implement
Determine whether the Simple
chosen algorithms are Algorithms or
appropriate for the given Functions with
problem. Constant Time
Complexity.
Write code to
perform binary
search in a
sorted array
and analyze its
Logarithmic
time
Complexity
Review and
analyze code
written by
others or
available in
open-source
projects to
identify the
complexity
classes of the
215
Algorithms
used.
Determine
whether the
chosen
Algorithms are
appropriate for
the given
problem.
216
YEAR II SEMESTER II
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Human Computer Interface (HCI) COURSE CODE: SWD 421 CONTACT HOURS: 3hrs
GOAL: : To Provide students with knowledge and skills in the design and use of Human Computer Interface (HCI)
GENERAL OBJECTIVES: On completion of this course the student should be able to:
1. Understand interaction design .
2. Comprehend conceptualized interaction.
3. Understand Principles and application of user centered design
4. UnderstandHCI design for collaboration and communication.
5. Know how interfaces affect users.
6. Understand the process of interaction design .
7. Understand HCI Design for Emerging Technologies
8. Understand Ethical and societal implications of Human-Computer Interaction
217
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Human Computer Interface (HCI) COURSE CODE:: SWD 421 CONTACT HOURS: 3hrs
CREDIT UNIT:2 THEORETICAL: 2
YEAR: II SEMESTER: II PRE-REQUSITE: PRACTICAL:1
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: : To Provide students with knowledge and skills in the design and use of Human Computer Interface (HCI)
GENERAL OBJECTIVE 1.0: Understand interaction design
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-2 1.1 Explain Explain what White Board Design a data entry form Guide students What is Human
Human computer interaction and Human computer prototype that incorporates to: computer
interaction design. interaction is and PC the design principles Design a data interaction?
why it is needed. (Constraining, entry form
1.2 Explain Multimedia Consistency, and prototype that Explain
Usability and Design Principles. Projector Affordance). incorporates Usability and
Discuss interaction
the design Design
design.
1.3 Explain User Interface Perform mappig using principles Principles.
Learnability, Memorability, and Interface prototyping metaphors. (Constraining,
Metaphors. Discuss the software (like Consistency,
components of Pencil, Axure and What are the
interaction design. RP, Wireframe, Affordance). make up of
1.4 –Explain the importance of user interaction
Interface Rapid UI, desingn?
Discuss why HCI Design Sketch, Perform
-Explain the benefits of a good design. mappig using
requires working etc.)
-Discuss a brief History of Screen Design. together as a multi metaphors Use metaphors
218
disciplinary team to create a
mapping process
1.5 –Explain Graphical System Explain the purpose in designs.
Characteristics of interactive
design in big State the
-Discuss Web User Interface Popularity business such as importance of
website consulting user interface.
-Explain the Characteristics/Principles of and mobile
User Interface. computing State the
industry. benefits of a
good design.
Explain the
interaction Discus a brief
designprocess. history of screen
design.
Discuss the goals
of interaction Explain
design (usability Graphical
and user System
experience). Characteistics.
Explain the
characteristics of a
Graphical System.
Explain the
Characteristics/Princi
ples of User
Interface.
220
3-4 2.1 Explain problem space in HCI. Discuss problem White Board Design an interface Guide Students What is a
space in HCI PC prototype that incorporates to: metaphor?
at least two design Demonstrate Give examples
2.2 Explain Conceptual Multimedia metaphors, one of which the use of of design
models based on activities and objects Discuss conceptual Projector
must be original. Interface metaphors.
models based on
metaphors.
activities. User Interface
2.3 Explain interface metaphors and
interaction paradigms. prototyping Demonstrate
Discuss the software (like how real life
conceptual models Pencil, Axure experience is
based on objects RP, Wireframe, used to come
Rapid UI, up with Design
Explain interface Design Sketch, Metaphors.
metaphors etc.)
Identify
Interface
Explain interaction metaphors
paradigms. incorporated in
the design of
common
software like
Operating
Systems, Word
Processors, and
Spreadsheets.
GENERAL OBJECTIVE: 3.0 Understand principles and application of user-centered design
5-6 3.1 Explain conceptual frameworks for Explain Cognition White Board Conduct the Stroop Test in Guide students Explain
cognition such as mental models, pairs to: conceptual
information processing and external Demonstrate frameworks for
Discuss conceptual PC
cognition. perception cognition.
frameworks for
221
Cognition. Multimedia Compare Conceptual interference by
Projector frameworks for cognition. conducting Carryout Stoop
Explain Mental Stroop tests. test.
models, User Interface
Information Demonstrate
prototyping Explain Stroop
processing and the use of
software. effect
External Cognition conceptual
frameworks
(like Pencil, for cognition.
Explain informal
Axure RP,
design from theory
Wireframe,
to Practice. Rapid UI,
Design Sketch,
etc.)
GENERAL OBJECTIVE: 4.0 Understand HCI designs for collaboration and communication
7-8 4.1 Explain social mechanisms used in Explain the social White Apply social Guide What are the
communication and mechanisms used Board mechanisms used in students to: social
collaboration in communication communication and mechanisms
and collaboration. PC collaboration. Apply social used in
4.2 Describe Ethnographic issues in mechanisms communication
collaboration and communication. Explain Multimedia Design a prototype of a used in and
conversational Projector collaborative interface communicatio Collaboration?
4.3 Explain language framework and mechanisms and n and
distributed cognition collaborative User Interface collaboration.
technologies Use real life examples to Explain different
prototyping interface types
4.4 Explain different interface types and that support software (like demonstrateinterface types Illustrate and describe
describe their interaction processes. them. Pencil, Axure and describe their different
collaborativ their interaction
RP, Wireframe, interactions. processes
Explain collaborative Rapid UI, e systems
4.5 Explain the specific design
technologies to and identify
222
considerations for different interface types. support coordination Design Sketch, Illustrate design the design
etc.) considerations for each goals for
Discuss interface type. each.
Ethnographic
studies of Design a
collaboration and prototype of
communication. White
a
Board
collaborative
Discuss the interface
language / action PC
framework Multimedia Use real life
and distributed Projector examples to
cognition demonstrate
User Interface interface types.
prototyping
Explain different
software (like Demonstrate
interface
Pencil, Axure design
types(Graphic
RP, considerations
User Interfaces,
Wireframe, for each
Speech based
Rapid UI, interface type
interfaces, Mobile
Design
interfaces,
Augmented
Reality
interfaces,
Virtual Reality
interfaces,
Wearable
interfaces, etc.)
Explain design
considerations for
223
each interface type.
10 5.1Explain affective and expressive Discuss affective White Design an interface Guide students Explain
interfaces. interafaces. Board prototype that conveys to: affective and
emotion. Design expressive
PC expressive interfaces
5.2 Explain the application of Discuss expressive interfaces that
anthropomorphism to interaction interfaces
Multimedia convey
design. Projector emotion.
Explain user
frustrations and User Interface
5.3 Define virtual characters and agents. how to deal with it. prototyping
software (like
Discuss the Pencil, Axure
application of RP, Wireframe,
anthropomorphism Rapid UI,
to interaction Design Sketch,
design. etc.)
Explain virtual
characters and
agents.
Discuss different
kinds of characters
- Synthetic
characters
224
- Animated agents
- Emotionalagents
- Embodiedc
onversation
al
interfaceag
ent.
Explain general
design concerns
-Believability of
virtual characters
- Appearance
- Behavior
-Mode ofinteraction
GENERAL OBJECTIVE: 6.0 : Understand the process of Interaction Design
11- 12 6.1 Explain the Waterfall model, Iterative Explain different White Board Conduct user and task Guide student Explain the
model, and Spiral model of Interaction interaction design analysis for a given to: Waterfall model,
Design. models (Waterfall project. Conduct user Iterative model,
PC
model, Iterative and task and Spiral
model, Spiral Design a prototype of the analysis for a model of
6.2 Explain Life cycle models in software Multimedia above project using User- given project.
engineering and HCI model). Interaction
Projector centered Design principles. Design.
6.3 Explain user testing. Preparing test conditions. Come up with
Explain the three Prepare test
User Interface a User- conditions,
characteristic of
6.4 Explain Formative evaluation, Field prototyping Evaluate and test the centered evaluate and test
User-centered
Study, and Controlled Experiment design: Iterative software (like project. Design of the projects.
Pencil, Axure above project.
Design, Focus on
RP, Wireframe, Prepare test
225
Explain domain analysis of users. Users and Tasks, Rapid UI, conditions.
Constant Design Sketch,
Evaluation. etc.) Evaluate and
White Board test the project.
Explain the process PC
of identifying users Multimedia
and their needs Projector
226
Explain the
basic issues in
selecting typical
users and their
domains.
Explain issues in
preparing the test
conditions.
GENERAL OBJECTIVE: 7.0 Understand Human-Computer Interaction Design for Emerging Technologies
13-14 7.1 Explain the concept of emerging Explain the term White Board Guide students Design HCI
technologies. ‗emerging Apply principles of HCI in to application for
technologies‘. the design of a VR Design VR an emerging
PC
application applications technology.
7.2 Explain Human Computer Interface applying the
design for Virtual Reality Explain HCI
Multimedia Apply principles of HCI in principles of
principles and
Projector the HCI
participatory design
7.3 Explain Human Computer Interaction approaches for design of Augmented
design for Augmented Reality emerging User Interface Reality application Design
technologies. prototyping Augmented
7.4 Explain human Computer Interaction software (like Apply principles of HCI in Reality
Design for Mobile Computer Systems Pencil, Axure mobile applications design applications
Explain HCI design applying the
RP, Wireframe,
requirements for principles of
Rapid UI,
Virtual Reality. HCI
Design Sketch,
etc.)
Explain HCI design Design mobile
requirements for applications
227
Augmented Reality applying the
principles of
Explain HCI design HCI
requirements for
Mobile devices
GENERAL OBJECTIVE: 8.0 Understand Ethical and societal implications of Human-Computer Interaction.
15 Explain the meaning of Ethics in Human- Discuss ethics in White Board Examine HCI application Guide students What is ethiCs
Computer Interaction. HCI. to outline certain ethical to examine in HCI?
considerations. various HCI
PC
applications to
Explain HCI Ethics considerations and Discuss various Enumerate
enumerate
concepts such as: human welfare, ownership ethical Multimedia various ethical
ethics
and property, privacy, freedom from bias, considerations in Projector considerations
considerarions.
228
universal usability, trust, autonomy, HCI applications. for a given HCI
informed consent, and accountability. User Interface application.
Discuss the prototyping
Explain the importance/relevanc of ethics in relevance of ethics software (like
HCI in HCI Pencil, Axure
RP, Wireframe,
Rapid UI,
Design Sketch,
etc.)
229
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Ethical and Professional Practice in SWD COURSE CODE: SWD422 CONTACT HOURS: 3hrs
GOAL: This course is designed to provide students with knowledge and skills of ethical and professional practices in Software and Web Development.
GENERAL OBJECTIVES: : Upon completion of this course, the student should be able to:
1. Comprehend the ethics ofsoftware and web development
2. Understand the concepts of IT professional practice
3. Understand legal and Ethical issues in IT practice that relates to software and web development
4. Understand the principles of software and web development group work
5. Understand quality management in IT practice
6. Understand job application process, career paths and requirements
7. Know how to access relevant information for IT practice
230
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Ethical and Professional Practice in SWD COURSE CODE:SWD422 CONTACT HOURS: 3hrs
CREDIT UNIT:2 THEORETICAL: 2
YEAR: II SEMESTER: II PRE-REQUSITE: PRACTICAL:1
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to provide students with knowledge and skills of ethical and professional practices in Software and Web Development.
GENERAL OBJECTIVE 1.0: Comprehend the ethics of Software and Web Development
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1 - 1.1 Define ethics Describe ethics with White board, Debate on ethical issues Guide Outline ethical
2 1.2 Explain the concept of ethics in IT examples PCs/Laptops, related to software and students to: issues related to
profession and professional Internet, web development Brainstorm on software and web
behavour Discuss the concept Multimedia, and software and development
of ethics in IT flip chart Analyse the principles web
1.3 Explain the principles of ethical
software and web development profession, of ethical application development
professional development ethical issues Enumerate the
behavour, and ethical principles of
issues related to Analyse the ethical software
software and web principles of and web
ethical development
development
application
Discuss the development
principles of ethical
software and web
development (e.g.,
web applications
should work
231
everywhere, software
or web applications
should work for
everyone, web
applications should
respect a user‘s
privacy and security,
developers should be
considerate of their
peers, etc.)
Explain the
importance and
process of
registering with IT
Professional bodies
GENERAL OBJECTIVE: 3.0 Understand Legal and Ethical Issues in IT Practice that relates to software and web development
5-6 3.1 Explain professional morals, Ethics and Discuss IT White board, Brainstorm on the pros and Guide students
Laws professional morals, PCs/Laptops, cons of being a member of to:
ethics and laws for Internet, professional bodies as a Brainstorm on
best practices Multimedia, and developer; with strong the pros and
3.2 Explain the code of ethics/bye laws of flip chart reference to Nigerian cons of being a
relevant professional bodies e.g., CPN, Discuss the code of digital space member of
NCS, FOSSFA, etc., as relates to software ethics /bye laws of professional
and web development relevant IT Create a conceptual ethical bodies as
3.2 Explain the code of ethics/ bye laws professional bodies guide to support software application
of relevant professional bodies e.g., (e.g., CPN, NCS, and web development developer
CPN, FOSSFA, NCS, etc., as relates to FOSSFA, etc.), as it processes
software and web development relates to software create a
and web conceptual
development ethical guide
3.2 Explain the code of ethics/bye laws of
that support
233
relevant professional bodies e.g., CPN, Discuss the software and
NCS, FOSSFA, etc., as it relates to software obligations of IT web
and web development professionals to development
fellow professionals, processes
developers,
3.3 Explain the obligations of IT employers, the nation
professionals to fellow professionals, and society
employers, the nation and society
Discuss the sanctions
for violating code of
3.4 Explain legal and ethical issues in IT
ethics of the IT
practice that relates to software and web
profession with
development
special emphasis on
software and web
3.5 Define the sanctions for violating code development
of ethics of the IT profession
Discuss legal and
ethical issues in IT
3.6 Outline the laws relating to copyright, practice that relates
patent, trademark, intellectual property, to software and web
access right, piracy and development (e.g.,
plagiarism etc. personal privacy,
access right, harmful
actions, patents,
intellectual property,
copyright, trade
secrets, liability, and
piracy)
234
Discussthe laws
relating to copyright,
patent, trademark,
intellectual property,
access right, piracy
and plagiarism, etc.
GENERAL OBJECTIVE: 4.0 Understand the principles of Software and Web Development group work
7-8 4.1 Explain the concept of group and team Discuss the concept White board, Participate in groupsusing Guide Perform simple
in software and web development of group, team and PCs/Laptops, Tuckman‘s & Jensen‘s students to: application
their importance in Internet, model for simple Participate in development tasks
4.2 Outline the needs for group work in software and web Multimedia, and application development groups using in groups
development flip chart tasks Tuckman‘s &
software and web development
Jensen‘s Discuss how to
Discuss the needs Perform simple model for
4.3 Explain the different types of groups: for group work in assess the
application simple effectiveness of
project group, peer group, in-group, out- software and web development tasks in application
development a team.
group, etc. groups development
tasks
Discuss the types
of groups (project Assess the group
4.4 Explain group dynamics and the role performances over a Perform
of members group, peer group,
specified period using simple
in-group, out-
4.5 Explain the Stages of group group, etc.), group Belbin‘s team roles application
formation (e.g., Tuckman‘s & Jensen‘s development
dynamics and roles
model): forming, storming, norming, tasks in
of members
performing and adjourning groups
Discuss the
4.6 Explain the concept of Balanced Stages of group Assess
Team formation group
(Tuckman‘s/Jen performanc
235
4.7 Describe Belbin‘s Team Roles: se‘) es over a
plant, resource investigator, shaper, Discuss the specified
completer finisher etc. concept of period
Balanced Team using
3.8 Explain the process of assessing the Belbin‘s
effectiveness of a team using Belbin‘s Explain Belbin‘s team roles
Team roles Team Roles
Discuss the
process of
assessing the
effectiveness of a
team using
Belbin‘s Team
roles
9 - 10 5.1 Explain the quality management in the Discuss quality White board, Produce quality standards Guide students Outline and
context of IT products & services management in the PCs/Laptops, for software and web to: discuss stages of
5.2 Outline the need for quality management context of IT Internet, development products or Produce quality
in IT practice products & services Multimedia, and solutions quality management and
flip chart standards for the processes
with specific
software and involved in setting
5.3 Explain the stages of quality examples in software Create quality management web
Management: define standards and & web development up quality
principles for a software development
processes, quality assurance, quality standards
and web development products or
improvement Discuss the need for company solutions
quality management What are Quality
5.4 Explain the process of setting up Create quality Management
in IT practices.
236
quality standards in IT organizations management Principles based
Discuss the stages of principles for a on ISO 9001?
5.5 Explain Quality Management software and
Principles (ISO 9001 or latest): customer quality Management
(define standards and web
focus, leadership, people involvement, development
process approach etc. processes, quality
company
5.6 Explain the process of monitoring and assurance, quality
controlling the quality of products and improvement) with
services in IT organizations relevant examples.
Discuss the
process of setting
up quality
standards in IT
organizations
based on ISO 9001
Discuss the
principles of
Quality
Management
237
11 -12 6.1 Explain the IT job market Discuss IT job White board, Search the Internet for Guide What are the
marketplace and PCs/Laptops, software and web students to: requirements for
6.2 Explain the various roles of IT roles of IT Internet, development job Search the one‘s suitability
professionals e.g., Software Developer, professionals Multimedia, advertisement Internet for for the
and flip chart. software and Application
Database Administrator, Network Engineer Discuss the
requirements for Identify the requirements web Developer role
etc. Samples of development in the job
one‘s suitability for for each advertised job
each role job vacancy job market or digital
6.3 Outline the requirements for one‘s advertisement Develop a good advertisement economy?
suitability for each role Discuss Career Paths ; good and curriculum vitae, cover
within each role in poor letter for job application, Identify the Discuss how to
6.4 Explain Career Paths within each role IT Profession curriculum and an acceptance requirements develop a good
in IT Profession vitae letterfor the job for each curriculum vitae
Discuss the job advertised and covering
6.5 Explain the job application Process: application process job letter for job
advertisement, curriculum vitae (CV) and application
covering letter, interview and aptitude tests, Discuss the Develop a
etc. structure and good
content of a good curriculum
6.6 Describe the structure and Content CV vitae, cover
of a good CV: computer and recruiter letter for job
friendly application,
Discuss the and an
6.7 Explain process of restructuring a CV restructuring
and covering letter to suit job acceptance
process of a CV letterfor the
specifications and cover letter to job
suit job
specifications
238
GENERAL OBJECTIVE: 7.0 : Know how to access relevant information for IT practice
13 -15 7.1 Explain data, information, Discuss the terms Search the Internet for Guide students What are the
knowledge and understanding data, information, relevant requests for to: types of
7.2 Describe various types of knowledge and expression of interest (EoI) Search the information
information needed for IT practice: job understanding in or tender bid for software Internet for and sources for
(contract & employment) the context of IT and web development relevant IT practice?
advertisement, training, current trends, practice contracts; and outline the requests for
conferences, workshops etc. Discuss various company‘s requirements expression of Demonstrate how
. types of for each interest (EoI) to search, and
7.3 Explain various sources of or tender bid retrieve relevant
information
data/information: conferences, workshops, for software information
needed for IT
website of professional bodies, print and web using appropriate
practice
media, government publications, virtual development search tools
libraries etc. Discuss relevant contracts; and
sources of data/ outline the
7.4 Describe the various types of Searches: information company‘s
simple, advanced and Meta searches. requirements
Discusstypes for each
of search
7.5 Describe the various search techniques: techniques.
Boolean logic,
parenthesis, phrase searching, truncation, Discuss the stages
wildcards, etc. in information
search process
7.6 Explain stages in information (initiation,
search process selection,
7.7 Discuss the need for information exploration,
validation and verification formulation,
7.8 Discuss the process of collection, search
information validation and closure)
239
verification Explain the needs
for information
validation and
verification.
Discuss the process
of information
validation and
verification
240
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Software Testing and Quality Assurance COURSE CODE: SWD423 CONTACT HOURS: 4hrs
GOAL: This course is designed to provide the students with knowledge and Skills on Software Testing and Quality Assurance
GENERAL OBJECTIVES: On completion of this course the student should be able to:
241
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Software Testing and Quality Assurance COURSE CODE: SWD423 CONTACT HOURS: 4hrs
CREDIT UNIT:3 THEORETICAL: 2
YEAR: II SEMESTER: II PRE-REQUSITE: PRACTICAL:2
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: This course is designed to provide the students with knowledge and Skills on Software Testing and Quality Assurance
GENERAL OBJECTIVE 1.0: Understand the Basic Concepts of Software Testing
243
2.4 Explain Software Quality Quality Factor Quality Assurance
Assurance Plan (SQAP) Model(product and Software
2.5 Explain Steps in creating operational fators, Quality Control
Revision factors and
Software Quality Assurance Transition factors)
Plan (SQAP)
Discuss Steps in
creating Software
Quality Assurance
Plan (SQAP)
GENERAL OBJECTIVE: 3.0 Understand the Stages in Software Testing Life Cycle
3.1 Define Software Testing Life Explain Software White Board and Install and configure the Guide students Explain the stages
6-7 Cycle Testing Life Cycle marker. Test Environment to: in Software
Install and Testing Life
Discuss the stages in PC and Create a Test plan for configure the Cycle
3.2 Explain the stages in
multimedia testing Sample Software Test
Software Testing Life Cycel Software Testing
Projector Environment Explain Test Plan,
3.3 Explain Test Plan and its Life
Cycle(requirements Develop Test cases Test Cases and
Importance analysis, test plan Online lecture required to test the Create a Test Continuos Testing
3.4 Explain Test Cases and their creation, notes Application plan for testing
usefulness environment setup an Application
3.5 Explain Continuos Testing etc). Software Testing to be created
and its importance tools(Selenium,
Discuss Test Plan Apache JMeter, Develop test
and its Importance. e.t.c) cases required
to test the
Application
Discuss Test Cases Sample Software
and their usefulness
244
Discuss Continuos
Testing and its
importance
GENERAL OBJECTIVE: 4.0 Understand Test Case Execution and Defects Logging
8-9 4.1 Define Test Case and Edge test case. Explain Test Case White Board Demonstrate Test Case Guide students
and marker. execution and mapping to:
4.2 Explain Test Case Execution Explain Edge test according to requirements Demonstrate
its activities cases. PC and Test Case
multimedia Demonstrate Defects execution and
4.3 Explain Requirement Discuss Test Case Projector logging mapping
Traceability Matrix and its Execution and its according to
Importance activities(creation of Software Testing requirements
test cases, execution tools
4.4 Explain Defect logging and of test cases,
Demonstrate
its importance mapping of test cases Sample source
Defects
according to code for the Test logging
requirements).
Discuss Defects
logging and its
Importance
Discuss requirement
Traceability Matrix
and its importance
GENERAL OBJECTIVE: 5.0 Know Automation Testing Process
245
10 -12 5.1 Explain Automated Testing Discuss Automated White Board and Develop test scripts to test Guide students
Testing marker. sample programs to: Explain
5.2 Explain Automated Testing Write test Advantages and
Tools and give examples Explain Automated PC and Demonstrate scripts to test disdavantages of
Testing Tools and multimedia Unit Testing, Integration sample Automated
5.3 Explain Advantages and give examples – Projector Testing, Smoke Testing, programs Testing
disdavantages of Automated Selenium, Ranorex Performance Testing,
Testing etc. Software Regression Testing Demonstrate Explain Types of
Automation API Testing Unit Testing, Automated
5.4 Explain Types of Automated Discuss Advantages Testing tools User Interface Testing Integration Testing
Testing and disdavantages of Testing, Smoke
Automated Testing Sample source Testing, Explain the Steps
5.5 Explain the Steps in code for the Performance in
Automated Testing Process Test Testing, Automated
Discuss Types of Regression Testing Process
Automated Testing
Testing(functional
and non-functional
testing)
246
13-15 Discuss Test White Board and Demonstrate Guide Students
6.1 Explain Test Automation Automation marker. Unit Testing, Integration to:
Frameworks and its Frameworks Testing, Smoke Testing, Demonstrate
usefulness PC and Performance Testing, Unit Testing,
Discuss Types of multimedia Regression Testing Integration
6.2 Explain Types of Test Test Projector API Testing Testing, Smoke
Automation Frameworks Automation User Interface Testing Testing,
Frameworks Online lecture using Test Automation Performance
6.3 Explain Continuos Testing (linear, modular, data materials Frameworks Testing,
driven automation Regression
framework etc). Sample source Testing using
code for the Test Test
Discuss Continuos Automation
Testing Frameworks
247
PROGRAMME: HIGHER NATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Security in Software Development COURSE CODE: SWD424 CONTACT HOURS: 4hrs
PRACTICAL: 2
YEAR: II SEMESTER: II PRE-REQUSITE:
GOAL: : This course is designed to provide the students with knowledge and Skills of Security in Software and Web Development
GENERAL OBJECTIVES: : On completion of the course, the student should be able to:
248
PROGRAMME: HIGHERNATIONAL DIPLOMA SOFTWARE AND WEB DEVELOPMENT
COURSE: Security in SWD COURSE CODE:SWD424 CONTACT HOURS: 4hrs
CREDIT UNIT:1 THEORETICAL: 2
YEAR: II SEMESTER: II PRE-REQUSITE: PRACTICAL:2
COURSE SPECIFIFCATION: THEORETICAL AND PRACTICAL
GOAL: : This course is designed to provide the students with knowledge and Skills of Security in Software and Web Development
GENERAL OBJECTIVE 1.0: Understand security fundamentals, threats and vulnerabilities
THEORETICAL CONTENT PRACTICAL CONTENT
Week Specific Learning Outcome Teacher’s Resources Specific Learning Teacher’s Evaluation
Activities Outcome Activities
1-2 Explain CIA triad (Confidentiality, Discuss the CIA PowerPoint and Identify CIA triad Guide Students
Integrity, Availability) and their significance triad, defining each similar (Confidentiality, Integrity, to:
in software security. component presentation Availability) and their Demonstrate
(Confidentiality, packages, significance in software real-world
Explain common security threats and Integrity, Overhead security. examples and
vulnerabilities in software systems. Availability) and Project, White case studies
their significance in Board, where the CIA
Explain how to analyze and classify security software security. Access to triad is
risks based on their impact and likelihood. OWASP (Open Identifysecurity threats and relevant.
Discuss common Web vulnerabilities in software
security threats and Application systems.
vulnerabilities in Security Analyze
software systems. Project) for scenarios
news on where
Discuss scenarios security. Analyze security risks maintaining
where maintaining based on their impact and confidentiality,
confidentiality, likelihood. ensuring
ensuring integrity or integrity, or
availability is
249
availability is crucial. crucialand
discuss
Discuss how potential
breaches in security
confidentiality, measures.
integrity or
availability can
impact software Analyze security
systems and threats and
organizations. vulnerabilities in
given software
Discuss common systems or
security threats (e.g., scenarios.
malware, social
engineering, DDoS
attacks) and
vulnerabilities (e.g.,
SQL injection, XSS) in
software systems.
251
Apply secure
by design
principles to
create or
improve a
software
system,
considering
security from
the outset.
Conduct code
reviews or
analyses of
existing
software to
identify areas
where secure
defaults and
secure by
design
principles were
implemented
effectively or
overlooked.
GENERAL OBJECTIVE: 3.0 Understand secure development lifecycle (sDLC)
5-6 List the stages of the sDLC. Discuss the stages of Integrated Identify the stages of the Guide students
Development to:
252
the sDLC. Environments sDLC. Create a
(IDEs) like simplified
Explain security considerations and Visual Studio sDLC plan for
practices and its integration into each stage Code or a hypothetical
of the sDLC. Discuss the purpose, JetBrains Identify security software
sequence, planning, considerations and project,
design, development, Jira, Trello, or practices and its identifying
testing, deployment, Microsoft integration into each stage key activities
Explain the benefits of incorporating and maintenance in Azure DevOps of the sDLC. at each stage
security early in the development process to sDLC. can help
reduce vulnerabilities and associated costs. students
understand how Identifythe benefits of Gather security
sDLC is incorporating security early requirements
in
Explain using visual integrated into the development process to and perform
aids (like flowcharts project reduce vulnerabilities and threat
or diagrams) the management. associated costs. modeling
typical phases and during the
their planning and
interrelationships design phases.
within the sDLC.
Identify where
Explain the security
importance of considerations
integration of and practices
security testing (e.g., should be
code review, integrated into
penetration testing) each stage of
into the testing phase the sDLC.
253
of the sDLC.
Analyze and
improve the
Discuss the benefits security of
of incorporating code at the
security early in the development
development process stage.
to reduce
vulnerabilities and
associated costs.
Demonstrate
case studies
and statistics
that illustrate
the higher cost
and impact of
addressing
security issues
in later stages
of the sDLC
compared to
addressing
them early.
7-8 Explain secure coding practices and how to Explain the Static analysis tools
Demonstratesecure coding Guide students
importance of secure eg. SonarQube or practices and how to
254
mitigate common security risks coding practices and ESLint to analyzemitigate common security to:
the role they play in code for security risks
Explain common coding vulnerabilities, mitigating security vulnerabilities. Apply secure
risks. Demonstratecommon coding
Explain how to write secure code that Secure Code coding vulnerabilities, practices to
adheres to industry best practices and coding Discuss common Review Tools mitigate
standards. security risks, such eg. CodeClimate Demonstratehow to write common
as input validation, or Checkmarx secure code that adheres to security risks,
output encoding, and industry best practices and such as input
error handling. coding standards. validation,
output
Explain how to encoding, and
identify and avoid error handling.
common coding
vulnerabilities, Perform threat
including SQL modeling
injection, XSS, exercises to
CSRF, and buffer identify
overflows. potential
security risks
Explain how to write in code and
secure code that suggest
adheres to industry mitigations.
best practices and
coding standards. Identify and avoid
common coding
Discuss coding vulnerabilities,
standards relevant to including SQL
secure coding, such injection, XSS,
as OWASP Secure CSRF, and buffer
Coding Guidelines or overflows.
255
industry-specific
standards. Write a secure
code that adheres
to industry best
practices and
coding standards.
Conduct code
review sessions
where students
assess code
against coding
standards,
focusing on
security-related
guidelines.
GENERAL OBJECTIVE: 5.0 Understand authentication, authorization, encryption and data protection
9-10 Explain the differences between Explain PC, Projector, Demonstratethe Guide student
authentication and authorization. authentication and Whiteboard, differences between to:
authorization. Marker, authentication and Analyze the
Explain encryption techniques and their Relevant authorization. differences
applications in securing data. Explain the Textbook; between
differences between Passport.js (for Demonstrateencryption authentication
Explain methods for securely storing and authentication and Node.js) or Springtechniques and their and
handling sensitive data. authorization and Security (for Java).
applications in securing authorization,
describe their roles in OpenSSL or data. emphasizing
access control. Keyczar their distinct
Demonstrate the methods roles in
Discuss common for securely storing and security.
256
traditional access handling sensitive data.
control models(such Conduct
as discretionary Implement encryption and hands-on
access control decryption algorithms in sessions to
(DAC) and real-world applications to introduce
mandatory access secure data. encryption
control (MAC)) and techniques,
dynamic access Demonstrate a practical including
control models(like case study of data symmetric,
Risk based access breaches, emphasizing asymmetric,
control, Adaptive how encryption could have and hybrid
access control) to prevented or mitigated the cryptography,
illustrate the impact. encryption
concepts. algorithms,
Demonstrate encryption and key
Explain encryption tools and libraries in management.
techniques, including popular programming
symmetric, languages, showing how Implement
asymmetric and they can be integrated into encryption and
hybrid cryptography, software development. decryption
and their applications algorithms in
in securing data. Design secure data storage real-world
and handling solutions for applications to
Discuss methods for different scenarios. secure data.
securely storing and
handling sensitive Analyze the security of Demonstrate a
data, such as data storage and handling practical case
password hashing practices by acting as study of data
and encryption. ethical hackers. breaches,
emphasizing
how
257
encryption
could have
prevented or
mitigated the
impact.
Demonstrate
encryption
tools and
libraries in
popular
programming
languages,
showing how
they can be
integrated into
software
development.
Design secure
data storage
and handling
solutions for
different
scenarios.
Assess the
security of
data storage
and handling
practices by
258
acting as
ethical
hackers.
GENERAL OBJECTIVE: 6.0 Understand secure communication, security testing and incident response
259
Implement
secure
communication
protocols in
web
applications or
network setups.
Conduct
incident
response
planning,
detailing the
components of
an incident
response plan,
including roles,
responsibilities
, and
procedures.
GENERAL OBJECTIVE: 7.0 Understand compliance, legal considerations, ethical and responsible development
13-14 Explain the legal and regulatory Explain the various PC, Projector, Conduct presentation on Guide students
requirements relevant to software security. legal frameworks Whiteboard, the legal and regulatory to:
and regulations Marker, Relevant requirements relevant to Explore specific
relevant to software Textbook; software security. legal
Explain the ethical considerations in security, including KnowBe4 or requirements
software development. international laws SANS Security and regulations,
260
like GDPR, HIPAA, Awareness; Identify ethical of sample
NDPR and industry- Lucidchart or considerations in software project and
Explain the consequences of non- specific standards. draw.io; development. analyze their
compliance and unethical behavior in Terraform or implications for
software development. Ansible software
Discuss ethical Identifythe consequences ofdevelopment,
considerations in non-compliance and unethical
and present
software behavior in software their findings.
development, development.
including responsible
handling of user data Conduct
and respecting user hypothetical
privacy. ethical
dilemmas and
guide them to
Explain the potential make and
legal consequences defend ethical
of non-compliance decisions based
with regulations and on their
unethical behavior in understanding
software of software
development, ethics.
emphasizing fines,
legal actions, and Conduct
reputational damage. hypothetical
scenarios
involving
ethical breaches
and guide them
to identify
appropriate
261
reporting
mechanisms
and actions,
considering
whistleblower
protection and
legal
implications
GENERAL OBJECTIVE: 8.0 Understand secure software design, security awareness, secure deployment and maintenance
262
Explain secure
deployment Conduct incident
practices. response
(containerization, simulations in
Explain Infrastructure as Code (IaC) and continuous response to
how it can be used to automate and secure integration/continuou security incidents.
deployment environments. s deployment
(CI/CD), patch
management,
monitoring,
Explain the concept of DevSecOps. continuous security)
Discuss
Infrastructure as
Code (IaC) and how
it can be used to
automate and secure
deployment
environments.
A. SOFTWARE LABORATORY
265
B. EMBEDDED SYSTEMS AND NETWORK LABORATORY
S/N DESCRIPTION OF ITEM NO REQUIRED
1. Digital Multimeter 40
2. Set of Screw Drivers 40
3. Soldering iron 40
4. Oscilloscope 2
5. Development boards:
i) Raspberry Pi 10
ii) Arduino board 10
iii) Pyboard 10
iv) ESP8266-based boards 10
v) ESP32 Wifi + Bluetooth 10
6. Vero/Bread Board 10
7. Jumper Cables lots
8. Logic Probe 10
9. Cleaning Kit 10
10. Lead sucker 40
11. Network tool kits:
Crimp tools 10
Punch down 10
RJ45 lots
266
Ethernet cable (Cat6 utp) lots
12. Network Devices:
Router 10
Switch (16 ports managed) 10
Access point 10
Patch Panel (24 ports cat6 utp) 10
42U Rack (Telecommunication Cabinet) 1
Cable Labeler 5
13. Software and Network Simulators
Operating system (Windows, Linux, Unix)
Python (version 3.6 and above)
C++
Proteus
GNS3,
eNSP,
CISCO Packet Tracer
14. Blower 2
15. Circuit Magnifier 40
16. Discrete components (diode, capacitors, resistors, LEDs, DHT, sound Assorted
and water sensors, keypads and screen)
17. Computer Systems (at least core i5 16G RAM, 2.5GHz) 5
18. Multimedia and accessories: 1 each
Projector
Pointer
Projector screen
267
LIST OF PARTICIPARTS FOR PRE CRITIQUE SOFTWARE AND WEB DEVELOPMENT
S/N NAME ADDRESS E-MAIL
1. Dr. Bassey A. Ekanem Novena University [email protected]
Ogume(CPNREP).
2. Dr. Joy Ezeife Federal Polytechnic Oko [email protected]
3. Joel Gogwim University of Jos [email protected]
4. AbdulsalamMuhsin Ahmad Kaduna Polytechnic, [email protected]
5. Dr. Hassan F. Akande Kaduna Polytechnic Hassan.akande@kadunapolytech
nic.edu.ng
6 Hafsatu Mora Kaduna Polytechnic [email protected]
268
LIST OF PARTICIPARTS FOR FINAL CRITIQUE SOFTWARE AND WEB DEVELOPMENT
S/N NAME ADDRESS E-MAIL ADDRESS
1. Ohwo Onome Blaise CPN Representative [email protected]
2. Dr. Samaila Musa Abdu Gusau Poly. Talata [email protected]
Mafara Zamfare State
3. Joel Gogwim Godwin Cisco Representative [email protected]
4. Abdulsalam Muhsin Ahmad Kaduna Polytechnic [email protected]
5. Prof. Idris M.Bugaje Executive Secretary, [email protected]
NBTE.
6. Dr. Ibrahim Bashir Bello NBTE, Kaduna
7. Dr. Musa Hatim Koko NBTE, Kaduna [email protected]
269