x
BDCPC301 - PYTHON FOR MACHINE LEARNING
ETEPM501 -
BDCPC301 Apply python for machine learning
Competence
RQF Level: 5 Learning Hours 70
Credits: 7
Sector: TEECHNICAL SERVICES
Trade: ELECTRONICS AND TELECOMUNICATION
Module Type: GENERAL
Curriculum: TSVPP5001 TVET Certificate V in ELECTRONICS AND
TELECOMUNICATION
Copyright: © Rwanda TVET Board, 2024
2024-25
Issue Date: May, 2024
This specific module describes the skills, knowledge and attitude
required to Apply Python Programming. This module is intended to
prepare learners pursuing TVET Level 5 in electronics and
Telecommunication. Upon completion of this module, the learner will
Purpose be able to Prepare python environment, write python program and
statement apply python libraries for data analysis.
Learning
assumed to be
in place N/A
Training delivery 100% Assessment Total 100%
Theoretical content 30% 30% 50%
Practical work: Group
project and
● Group project
and presentation
presentation 30%
Individual
● Individual Formative project
project /Work 40% 70% assessment 70% /Work
Delivery
modality Summative Assessment 50%
Elements of Competency and Performance Criteria
Elements of
competency Performance criteria
1.1 Python tools are properly selected in accordance with
computer operating system
1. Prepare python 1.2 Python tools are properly installed in accordance with
environment Operating System
1.3 Python installation is successfully tested based on
output of python version command
2.1. Python concepts are effectively applied in accordance
2. Write basic
with recommended programming practices.
python program
2.2. Control structures are properly applied in line with
efficient coding guidelines.
2.3. Functions are properly applied based on structured
programming techniques.
2.4. Collections are properly applied according to effective
data management practices.
2.5. File handling is properly performed in line with secure
and efficient file operations.
2.6. OOP concepts are properly applied in accordance with
object-oriented programming principles.
2.7. Python date and time concepts are applied according to
accurate and efficient time management standards.
3.1. Numerical libraries are properly used based on precise
mathematical operations requirements.
3.2. Data manipulation libraries are properly applied in
3. Apply python accordance with effective data processing and transformation
libraries for data techniques.
analysis. 3.3. Data visualization libraries are properly used according
to clear and informative data presentation standards.
Knowledge, Skills, and Attitude
Knowledge Skills Attitude
✓ Description of ✓ Being Engaged in ✓ Being Quick learner
Python libraries Problem-Solving to achieve the
✓ Description of ✓ Enhancement of required result.
Python language Creativity and ✓ Being rapid during
features innovation skills work execution
✓ Description of ✓ Conduct analysis and ✓ Have Trustworthy to
Python syntax and System details
semantics ✓ API development ✓ Being flexible
✓ Describing ✓ Indicate team spirit
concepts of Python while working with
programming others.
✓ Establish Honesty in
your daily activities.
✓ Attention to details
while carrying out
programming
✓ Take responsibility.
At the end of the module the learner will be able to:
1. Prepare python environment
2. Write basic python program
Learning outcomes 3. Apply object-driven in python
Learning outcome 1: Prepare
Learning hours: 15
python environment
Indicative content
● Python programming overview
✔ Definition
✔ Benefits
✔ Characteristics of python
● Selection of Python tools
✔ Applications of python
● Data science
● Software development
● Automation
● Data analytics
✔ Identifications of python tools
● Installation of Python tools
✔ Identification of computer system requirements
● Hardware requirement
● Software requirement
✔ Install python software tools
✔ Configure python virtual environment
● Testing python installation
✔ Run python version command
✔ Check python interpreter
✔ Test package manager
Resources required for the learning outcome
Equipment Computer, Projector
Materials Internet
Tools Text editor, Python(latest and stable version), IDE
● Group discussion
● Brainstorming
● Practical exercises in group work
● Individual Practical exercises
Facilitation techniques
● Written assessment
● Oral questions
Formative assessment methods ● Performance assessment
Learning outcome 2: Write basic python program Learning hours: 15
Learning
Learning hours:20
Indicative content
● Applying python basic concepts
✔ Data Types
✔ Variables
✔ Comments
✔ Operators
● Applying python control structures
✔ Conditional Statements
✔ Looping Statements
✔ Use of Jump Statements
● Break
● Continue
● Pass
● Appling functions in Python
✔ Definition of Function
✔ Types of functions
● built-in function
● user defined function
✔ Create a function
● Arguments
● Default parameter value
● Passing a list as an argument
● Calling a function
✔ Apply special purpose functions
● Lambda
8
● Apply Python Generators
● Apply Python Closures
● Apply Python Decorators
● Recursive function
● Higher-order function
● Applying Python Collections
✔ Description of collection types
● Lists
● Tuples
● Dictionaries
● Sets
● Frozen Set
● ChainMaps
● Deques
✔ Specialized tools from the collection’s module
● Counter
● OrderedDict
● defaultdict
✔ Perform common operations
● Adding and Removing Elements
● Accessing and Iterating Over Elements
● Filtering and Sorting
● Set Operations and Counting
● Stack and Queue Operations
● File handling
✔ File Handling libraries
● os
● pathlib
● shutil
9
✔ Practice to read file
● Open file
● Read file permission
✔ Perform write/create file
● Create a new file
● Write to existing file
✔ Perform delete file
● Remove file
● Delete folder
✔ Apply python best practices
● Readability and Style
● Use of Built-in Features
● Efficiency and Memory Usage
● Error Handling and Testing
● Applying OOP Concepts
✔ Object
✔ Python class
✔ Inheritance
✔ Polymorphism
✔ Encapsulation
● Applying python Date and time concepts
✔ Description of date and time
● Datetime
● Dateutil
● Arrow
● Pendulum
● Python-tzdata
✔ Set Time zones
✔ Formatting and parsing
10
✔ Perform relative timedeltas
Resources required for the indicative content
Equipment Computer, Projector
Materials Internet
Tools ● Text editor, Python (latest and stable version), IDE
● Group discussion
● Brainstorming
● Practical exercises in group work
Facilitation
● Individual Practical exercises
techniques
● Written assessment
Formative
● Oral questions
assessment
methods ● Performance assessment
Learning outcome 3: Apply
python libraries for data Learning hours: 35
analysis.
11
Indicative content
● Description of Python Libraries
● Python standard libraries
✔ Math
✔ Datetime
✔ Random
● Produce random numbers and sequences
● Randomly shuffle elements in a list
● Draw random samples from a population or list.
● Python numerical calculation libraries
✔ NumPy
● Initialize and manipulate arrays
● Perform element-wise operations and matrix manipulations
✔ SciPy
● Apply advanced mathematical functions from submodules
● Use special functions
● Perform scientific computations
● Data manipulation libraries
✔ Pandas
● Generate and manipulate dataframe and series objects
● Perform data cleaning and transformation operations
● Conduct data analysis and aggregations
● Data plotting libraries
✔ Seaborn
● Create statistical plots such as histograms, box plots, and violin plots
● Adjust aesthetics and themes to enhance visual appeal
● Use built-in functions to visualize relationships and distributions in datasets
✔ Matplotlib
● Generate basic plots
● Modify plot elements such as titles, labels, legends, and colors.
● Export plots to various file formats
Resources required for the indicative content
Equipment Computer, Projector
Materials internet
Tools Text editor, Python (latest and stable version), IDE, Jupyter notebook
● Group discussion
● Brainstorming
Facilitatio
● Practical exercises in group work
n
● Individual Practical exercises
techniques
● Written assessment
Formative
● Oral question
assessmen
t methods ● Performance assessment
References
1. Brownlee, J. (2016). Master Machine Learning Algorithms - Discover how they work.
2. Eric, H., Sinayobye, O., Masabo, E., Ufi nema, C., Murangira, T., Rwibasira, P.,
. . . Gaurav, B. (2023). An Intelligent System-Based Coffee Plant Leaf Disease
Recogni on Using Deep Learning Techniques on Rwandan Arabica Dataset.
Technologies, 23.
3. Hi mana, E., Richard, M., Bajpai, G., Louis, S., & Kayalvizhi, J. (2021).
Implementa on of IoT Framework with Data Analysis Using Deep Learning Methods
for Occupancy Predic on in a Building. Future Internet.
4. LazyProgrammer. (2016). Deep Learning: Recurrent Neural Networks in Python:
LSTM, GRU, and more RNN machine learning architectures in Python and Theano
(Machine Learning in Python).
5. Mar n, K., Hi mana, E., Ngabonziza, J., Hanyurwimfura, D., Musabe, R.,
Uwamahoro, A., . . . Mutonga, K. (2023). Crop Yield Predic on Using Machine
Learning Models: Case of Irish Potato and Maize. Agriculture, 20.
6. Moolayil, J. J. (2019). Learn Keras for Deep Neural Networks: A Fast-Track
Approach to Modern Deep Learning with Python.
7. Morgan, P. (2018). Data Analysis from Scratch With Python: Beginner Guide,
Pandas, NumPy, Scikit-Learn, IPython, TensorFlow, and Matplotlib.
8. Russell, R. (2018). Machine Learning: Step-by-Step Guide To Implement
Machine Learning Algorithms with Python.
9. Sarkar, D., Raghav, B., & Tushar, S. (2017). Prac cal Machine Learning with
Python: A Problem-Solver’s Guide to Building Real-World Intelligent Systems.
10. James, G., Wi en, D., Has e, T., & Tibshirani, R. (2017). An Introduc on to
Sta s cal Learning: with Applica ons in R. Springer.
11. Raschka, S., & Mirjalili, V. (2019). Python Machine Learning: Machine Learning
and Deep Learning with Python, scikit-learn, and TensorFlow 2. Packt Publishing.
12. Müller, A. C., & Guido, S. (2016). Introduc on to Machine Learning with
Python: A Guide for Data Scien sts. O'Reilly Media.
13. Géron, A. (2019). Hands-On Machine Learning with Scikit-Learn, Keras, and
TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems. O'Reilly
Media.
14. Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y. (2016). Deep Learning
(Adap ve Computa on and Machine Learning series). MIT Press.
15. Murphy, K. P. (2012). Machine Learning: A Probabilis c Perspec ve. MIT Press.
16. Has e, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Sta s cal
Learning: Data Mining, Inference, and Predic on. Springer.
17. Chollet, F. (2017). Deep Learning with Python. Manning Publica ons.
18. Alpaydin, E. (2020). Introduc on to Machine Learning (Adap ve Computa on and
Machine Learning series). MIT Press.
19. Bishop, C. M. (2006). Pa ern Recogni on and Machine Learning. Springer.