Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
5 views17 pages

Swdda401 - Data Structure and Algorithm Fundamentals

The document outlines a module on Data Structure and Algorithm Fundamentals using JavaScript, aimed at learners at RQF Level 4 with a total of 130 learning hours and 13 credits. It details the competencies required, including applying algorithm fundamentals, data structures, and implementing algorithms in JavaScript, along with assessment methods and learning outcomes. The course includes both theoretical and practical components, culminating in a project to develop a computerized car parking management system.

Uploaded by

leviruran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views17 pages

Swdda401 - Data Structure and Algorithm Fundamentals

The document outlines a module on Data Structure and Algorithm Fundamentals using JavaScript, aimed at learners at RQF Level 4 with a total of 130 learning hours and 13 credits. It details the competencies required, including applying algorithm fundamentals, data structures, and implementing algorithms in JavaScript, along with assessment methods and learning outcomes. The course includes both theoretical and practical components, culminating in a project to develop a computerized car parking management system.

Uploaded by

leviruran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

SWDDA401- DATA STRUCTURE AND ALGORITHM FUNDAMENTALS

SWDDA401
Apply Data Structure and Algorithm Fundamentals
Using JavaScript

Competence
RQF Level: 4 Learning Hours
130
Credits: 13
Sector: ICT and Multimedia
Trade: Software Development
Module Type: Specific

Curriculum: ICTSWD4002 -TVET CERTIFICATE IV IN SOFTWARE


DEVELOPMENT

Copyright: © Rwanda TVET Board, 2023

1200 Issue Date: September 2023


Purpose This specific module describes the knowledge, skills and attitude required
statement to apply Data Structure and Algorithm Fundamentals using JavaScript. Up
on completion of this module, the learner will be able to Apply Algorithm
Fundamentals, Apply Data Structure and Implement Algorithm using
JavaScript.
Learning assumed ▪ Applied Mathematics
to be in place
Delivery modality Training delivery 100% Assessment Total 100%

Theoretical content 30% 30%


Practical work:
Group project 20%
Formative
and 50%
70% assessment 70%
presentation
Individual project 50%
/Work
Summative Assessment 50%

Elements of Competence and Performance Criteria

Elements of Performance criteria


competence

1.Apply Algorithm 1.1 Number systems are correctly converted according to the base conversion
Fundamentals methods

1.2 Logic gates and expressions are well described based on Boolean algebra

1|Page
1.3 Data types are effectively used according to their intended use

1.4 Operators are appropriately used based on datatype

1.5 Algorithm is properly written based on problem to be solved

2.1 Data structure concepts are clearly identified based on intended use.

2.2 Linear Data Structures are properly applied based on their operational
2.Apply Data
complexity
Structure
2.3 Non-Linear Data Structures are properly applied based on their
operational complexity

3.1 JavaScript Source code is properly written based on Algorithm

3.2 JavaScript source code is successfully run in accordance with expected


3.Implement
result
Algorithm using
JavaScript 3.3 Time and space complexity are successfully tested based on data structure
standards

2|Page
Intended Knowledge, Skills and Attitude

Knowledge Skills Attitude


✓ Describe logic gates and ✓ Convert number systems ✓ Team work
expressions ✓ Apply JavaScript ✓ Be critical thinker
✓ Describe the use of data operators ✓ Being Innovative
types on variables ✓ Apply data structure and ✓ Be attentive.
✓ Write an algorithm their operations ✓ Being creative
✓ Identify data structure ✓ Develop JavaScript source ✓ Practical oriented
concepts code ✓ Detail oriented
✓ Problem solving ✓ Time management
✓ Test Time and space
complexity

Course content

Learning outcomes At the end of the module the learner will be able to:

1. Apply Algorithm Fundamentals


2. Apply Data Structure
3. Implement Algorithm using JavaScript

3|Page
Learning outcome 1: Apply Algorithm Fundamentals Learning hours: 30

Indicative content

• Conversion of number systems


✓ Description of key concepts
Decimal base
Binary base
Hexadecimal base
Octal base
Unary encoding
✓ Number system from decimal base to:
Binary base and vice versa
Octal base and vice versa
Hexadecimal and vice versa
✓ Number system from hexadecimal base to:
Binary base and vice versa
Octal base and vice versa
Decimal and vice versa
✓ Number system from base Octal base to:
Binary base and vice versa
Decimal base and vice versa
Hexadecimal base and vice versa
✓ Application of number base arithmetic operations
• Description of logic gates and expressions
✓ Representation of Boolean logic gates
AND gate
NAND gate
OR gate

4|Page
NOR gate
XOR gate
✓ Application of Boolean logic gates
Circuits
Truth table
• Use of data types on variables
✓ Definition of datatype
✓ Data types used in JavaScript
Primitive data types
Non-Primitive data types
✓ Application of datatypes
• Application of JavaScript operators
✓ Assignment operators
✓ Arithmetic operators
✓ Logical operators
✓ Relational operators
✓ Compound operators
✓ Conditional operators
✓ Bitwise operators
• Write an algorithm
✓ Definition
✓ Types of algorithm
✓ Characteristics/qualities of a good algorithm
✓ Develop an algorithm using structured English
✓ Develop an algorithm using pseudocode
Sequence structures
Selection/conditional structures
Looping/iterating structures
✓ Design of Flowchart

5|Page
Description of Elements of Flowchart
Using Flowchart tools
Apply Flowchart best practices
✓ Draw a flowchart

Resources required for the learning outcome

Equipment ▪ Computer

Materials ▪ Internet
▪ Papers
▪ Pencils
▪ Electricity
▪ Training manual
Tools ▪ Visual paradigm
▪ Edraw max
▪ Lucidchart
Facilitation ▪ Practical exercise
techniques ▪ Trainer guided
▪ Group discussion
▪ Demonstration
▪ Individual practical exercise
Formative ▪ Written assessment
assessment methods ▪ Performance assessment
/(CAT)

Learning outcome 2: Apply Data Structure Learning hours: 45

Indicative content

6|Page
• Identification of data structure concepts
✓ Definition
✓ Classifications of data structures
Linear
Non-linear
✓ List representation
✓ List operations
✓ Structure
✓ Searching techniques
Binary search
Linear search
✓ Time complexity
✓ Space complexity
✓ Classification of sorting algorithms
By number of comparisons
By Number of Swaps
By Memory Usage
By Recursion
By Stability
By Adaptability
Internal Sorting
External Sorting
✓ Sorting techniques
Selection Sort
Bubble Sort
Insertion Sort
Merge Sort
Quick Sort
Shell Sort

7|Page
Heap Sort
Radix Sort
Counting Sort
Bucket Sort
• Application of linear data structures and their operations
✓ Linked lists
✓ Arrays
✓ Queue
✓ Stack
✓ Write procedures
• Application of non-linear data structure and their operations
✓ Tree
✓ Graph
✓ Tables
✓ Write procedures

Resources required for the indicative content

Equipment ▪ Computer

Materials ▪ Internet
▪ Training manual
▪ Electricity

Tools ▪ Python tutor


▪ VisuAlgo

Facilitation ▪ Demonstration
techniques ▪ Trainer guided
▪ Group discussion
▪ Individual practical exercise

8|Page
Formative ▪ Written assessment
assessment methods ▪ Performance assessment
/(CAT)

Learning outcome 3: Implement Algorithm using Learning hours: 55


JavaScript
Indicative content

• Development of JavaScript source code

✓ Preparation of JavaScript running environment


✓ Writing JavaScript source code
Linked lists
Arrays
Queue
Stack
Tree
Graph
Tables
✓ Perform sorting operations
Bubble
Quick

✓ Perform searching operations


Binary
Linear
• Run JavaScript source codes
✓ Using browser embedded Tools
Rendering engine

9|Page
Web dev tools
✓ Using IDE Terminal
• Test Time and space complexity
✓ Key concepts of measuring time and space complexity
✓ Time and space measurement tools
Profiling tools
Benchmark.js
Benchmarkify
jsPerf
✓ Document test findings

Resources required for the indicative content

Equipment ▪ Computer

Materials ▪ Internet
▪ Training manual
▪ Electricity

Tools ▪ Benchmarkify.js
▪ jsPerf
▪ WebStorm
▪ Visual Studio Code IDE built-in profiling tool
▪ Frame graphs
▪ Blackfire
▪ YSlow
▪ Chrome/Microsoft/Firefox DevTools
Facilitation ▪ Brainstorming
techniques ▪ Trainer guided
▪ Group Discussion
▪ Individual Practical exercise

10 | P a g e
Formative ▪ Written assessment
assessment methods ▪ Performance
/(CAT)

11 | P a g e
Integrated/Summative assessment

Integrated Situation
SmartPark is a car parking management company located in Rubavu District. Normally, its
working principle is organized in a way that each incoming car is given a token having car number
plate, parking slot, date, and time of entrance. They charge the car driver an amount of
Rwf500/hour for parking service during exit. Once the parking time exceeds, the extra time is
charged 300Rfrw per extra hour. All these processes are done manually using paper-based
system.
This leads to the various challenges including:

• Difficulties in finding out the actual status of the car park quickly to allow or deny a new
incoming car to park.

• Inaccuracy in setting time-in and time-out for incoming car

• The car park manager is exposed to easily be mistaken when recording time spent by the car
on a parking slot.

• It takes a time to calculate total amount to be paid by the car drivers at exit.

Therefore, the management has decided to make improvement by computerizing the parking
management system by hiring you as a skilled developer in Data Structure and Algorithm to
develop: (1) the procedure and flowchart, (2) develop source code using JavaScript which will
provide solutions by automating the old system.
TASKS:
(i) Create the car park with the maximum space for 50 cars.
(ii) Check whether the car park is full
(iii) Enter the cars in the car park
(iv) Remove cars from the car park and update its status
(v) Traverse all the cars within the car park.
(vi) Document time and space complexity test findings.

12 | P a g e
INSTRUCTIONS:
1. Use the idea of array data structure.
2. The procedure should be JavaScript-oriented and submitted.
3. Flowchart should be neatly drawn and submitted.
4. The tasks should be performed within 6 hours.

Resources

▪ Computer
Equipment
▪ Mathematical Set

▪ Electricity
Materials/ Consumables ▪ Papers
▪ Pen

▪ Vs Code
Tools ▪ Google Chrome
▪ Chrome Dev Tool

Assessment criteria Observatio Marks


Assessable
(Based on performance Indicator n allocation
outcomes
criteria) Yes No
Learning 1. Data types are Ind 1. Data types are 3
Outcome 1: effectively used applied on variable
Apply according to their
Algorithm intended use
Fundamentals
Ind 1. Arithmetic 2
operations are applied
(30%)
in the parking process

13 | P a g e
2. Operators are Ind 2. Relational 2
appropriately used operations are applied
based on datatype in Boolean expression

3. Algorithm is Ind 1. Iterations are 4


properly written applied
based on problem to Ind 2. Appropriate 4
be solved symbols are used on
flowchart
Ind 3. Logical flow of 2
data is shown
Ind 4. Flowchart has 2
finiteness
Learning 1. Linear Data Ind 1. Maximum slots 2
Outcome 2: Structures are variable is initialized to
Apply Data properly applied 50
Structure based on their Ind 2. Parked cars array 3
operational is initialized to null
(40%) complexity Ind 3. Parking slots 5
status is checked
Learning 1. JavaScript Source Ind 1. Fifty parking slots 5
Outcome 3: code is properly are declared and
Implement developed based on initialised
Algorithm Algorithm Ind 2. Parked cars array 3
using is initialised to null
JavaScript Ind 3. Conditional 3
structures are applied
(30%)
Ind 4. Operators are 2
applied

14 | P a g e
Ind 5. Iterations are 5
performed on
2. JavaScript source Ind 1. Free parking slots 4
code is successfully status is checked
run in accordance Ind 2. Incoming car is 5
with expected added into free parking
result. slot.
Ind 3. Occupied slots 5
status is updated

Ind 4. Exiting car is 5


removed from parking
slot.
Ind 5. Free slots status 5
is updated
Ind 6. Exiting car is 5
charged Fees based on
time spent in parking
slot.
3. Time and space Ind 1. Time and space 4
complexity are complexity test findings
successfully tested is documented.
based on data
structure standards

Total marks 80
Percentage Weightage 100%
Minimum Passing line % (Aggregate): 70%

15 | P a g e
References:

1. Bagde, P. (2023, 5 6). javascriptDocuments. Retrieved from github.com/priya42bagde:


https://github.com/priya42bagde/javascriptDocuments/find/main

2. Kime, M. M. (1984). Logical and computer Design Fundamentals (6 ed.). (Pearson, Ed.)
Prentice Hall. Retrieved 5 6, 2023, from
https://drive.uqu.edu.sa/_/mskhayat/files/MySubjects/20178FS%20LogicAnalysisAndDe
sign/Logic_and_Computer_Design_Fundamentals_-_4th_International_Edition.pdf

3. Knuth, D. E. (1973). The Art of Computer Programming Volume 3 (2 ed.). Reading-USA:


Addison-Wesley. Retrieved 5 6, 2023, from https://ia601506.us.archive.org/34/items/B-
001-001-250/B-001-001-250.pdf

4. McMillan, M. (2015). Data Structres and Algorithms with JavaScript (2 ed.). (B. M.
Blanchette, Ed.) USA: "O'Reilly Media,. Retrieved from
https://books.google.rw/books?id=1ywEAwAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f
=true

5. tutorialspoint. (2023, 5 6). number system conversion. Retrieved from tutorialspoint.com:


https://www.tutorialspoint.com/computer_logical_organization/number_system_conv
ersion

6. V. Karavirta and C. A. Shaffer vol. 9, n. 2.-1.-J. (2016). "Creating Engaging Online Learning
Material with the JSAV JavaScript Algorithm Visualization Library," in IEEE Transactions on
Learning Technologies, (Vol. 9). IEEE. Retrieved 5 6, 2023, from
https://ieeexplore.ieee.org/abstract/document/7298430

16 | P a g e

You might also like