0% found this document useful (0 votes)
2 views9 pages

Coding Foundation Programme

The Three-Month Coding Foundation Programme focuses on building a strong foundation in Python programming, Data Structures and Algorithms (DSA), and Linux over 12 weeks. Participants will learn essential coding skills, problem-solving techniques, and Linux command usage, culminating in a final project that showcases their acquired knowledge. This programme prepares individuals for various technology fields such as software engineering, data science, and cybersecurity.

Uploaded by

fridausokoya
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)
2 views9 pages

Coding Foundation Programme

The Three-Month Coding Foundation Programme focuses on building a strong foundation in Python programming, Data Structures and Algorithms (DSA), and Linux over 12 weeks. Participants will learn essential coding skills, problem-solving techniques, and Linux command usage, culminating in a final project that showcases their acquired knowledge. This programme prepares individuals for various technology fields such as software engineering, data science, and cybersecurity.

Uploaded by

fridausokoya
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

Three-Month Coding Foundation Programme

Python Foundations, DSA, and Linux

Programme Description
This programme focuses on Python programming first, then moves into Data Structures and Algorithms after she
has built a strong foundation.

The structure is designed to avoid rushing her through important concepts. She will first understand how to write
code, solve simple problems, use functions, work with lists and dictionaries, handle files, and understand the
basics of Object-Oriented Programming. After that, she will move into Data Structures and Algorithms, where she
will learn how to solve problems more efficiently.

Linux will be taught once every week as a separate focus area. This will help her understand how to use the
terminal, manage files, run commands, and become familiar with tools used by developers.

The programme will run for 12 weeks. Each week will have 4 study days. The remaining days will be used for
assignments, revision, practice questions, and mini-project work.

Purpose of the Programme


The purpose of this programme is to help her build a strong foundation before choosing a specific area in
technology. Instead of starting with advanced projects immediately, she will first learn the core skills needed
across different tech fields.

Python will help her understand programming logic and how to build simple applications.

Data Structures and Algorithms will help her improve problem-solving and learn how to write more efficient code.

Linux will help her understand how developers work with terminals, files, commands, and development
environments.

After completing this foundation, she will be better prepared to explore areas such as software engineering, data
science, data engineering, DevOps, cybersecurity, cloud computing, or artificial intelligence.

Areas in Technology
1. Software Engineering
Software engineering is the process of designing, building, testing, and maintaining software applications.
Software engineers create websites, mobile apps, backend systems, APIs, desktop applications, and other
systems used by individuals, businesses, and organizations.

In this field, she would eventually learn how to build applications, connect them to databases, create user
accounts, design backend systems, and make software reliable and easy to use.

Examples of software engineering projects include a task management app, school portal, quiz app, e-commerce
website, messaging app, or booking platform.

2. Data Science
Data science focuses on using data to understand patterns, answer questions, and support decision-making.
Data scientists collect, clean, analyze, and visualize data. They may also build prediction models using machine
learning.

In this field, she would use Python, statistics, data analysis tools, and visualization libraries to study information
and make useful conclusions from it.

Page 1
Examples of data science projects include analyzing student scores, studying sales trends, predicting customer
behavior, analyzing game statistics, or creating charts from survey results.

3. Data Engineering
Data engineering focuses on collecting, organizing, storing, and moving data. Data engineers make sure data is
clean, reliable, and available for data scientists, software systems, and businesses to use.

In this field, she would learn about databases, data pipelines, APIs, automation, cloud storage, and backend
systems.

Examples of data engineering projects include collecting data from an API, cleaning the data, saving it in a
database, building a data pipeline, or creating an automated report system.

4. DevOps
DevOps combines software development and system operations. DevOps engineers help applications run
properly after they are built. They work with servers, deployments, automation, monitoring, and system reliability.

In this field, she would need Linux, Git, server basics, cloud platforms, Docker, and deployment skills.

Examples of DevOps projects include deploying a web app, setting up a server, using Docker, creating a
deployment pipeline, automating backups, or monitoring application logs.

5. Cloud Engineering
Cloud engineering focuses on building and managing applications using cloud platforms such as AWS, Google
Cloud, Microsoft Azure, or DigitalOcean. Cloud engineers work with servers, storage, databases, networking, and
deployment.

In this field, she would learn how online systems are hosted, managed, secured, and scaled.

Examples of cloud engineering projects include hosting a website, setting up cloud storage for images, deploying
a backend API, creating a database, or managing a virtual private server.

6. Cybersecurity
Cybersecurity focuses on protecting computers, websites, applications, networks, and data from attacks. It
involves understanding how systems work and how to keep them safe.

In this field, she would need Linux, networking basics, Python, security concepts, and strong problem-solving
skills.

Examples of cybersecurity projects include a password strength checker, file encryption tool, log analyzer, basic
vulnerability scanner, or secure login system.

7. Artificial Intelligence and Machine Learning


Artificial Intelligence focuses on building systems that can perform tasks that normally require human intelligence.
Machine Learning is a major part of AI and involves teaching computers to learn from data.

In this field, she would use Python, data, statistics, algorithms, and machine learning tools.

Examples of AI and machine learning projects include a chatbot, spam detector, recommendation system, image
classifier, or prediction model.

8. Frontend and Backend Development


Frontend development focuses on the part of an application users see and interact with. Backend development
focuses on the server, database, authentication, APIs, and business logic.

Python is commonly used for backend development through tools such as Flask, FastAPI, and Django. A strong
Python foundation will help her understand backend development more easily later.

Page 2
Examples of backend projects include a login system, REST API, student dashboard, task manager, or
messaging system.

Programme Structure
- Duration: 12 weeks
- Main study days: 4 days per week
- Assignment days: Remaining days of the week
- Main topics: Python, Data Structures and Algorithms, Linux
- Recommended class duration: 1.5 to 2 hours per study day
- Recommended assignment time: 1 to 2 hours per assignment day

Weekly Structure
- Day 1: Python or DSA lesson
- Day 2: Python or DSA practice
- Day 3: Guided coding practice or mini-project
- Day 4: Linux
The remaining days will be used for assignments, practice questions, debugging, revision, mini-project
improvement, reading notes, and preparing questions for the next class.

Suggested Weekly Timetable


- Monday: Python or DSA lesson
- Tuesday: Assignment and practice
- Wednesday: Python or DSA practice
- Thursday: Assignment and revision
- Friday: Guided coding project
- Saturday: Linux
- Sunday: Rest or light review

Month 1: Python Basics and Confidence Building


Week 1: Introduction to Python and Linux
Day 1 - Python
Introduction to programming, variables, data types, numbers, strings, input, output, and basic operators.

Day 2 - Python Practice


Writing simple programs using input, output, and calculations.

Day 3 - Guided Coding


Build small beginner programs such as an age calculator, area calculator, and simple interest calculator.

Day 4 - Linux
Introduction to the terminal, folders, files, and navigation.

Linux Commands

Page 3
pwd, ls, cd, mkdir, touch, clear

Assignment Focus
Practice simple Python programs that use input, output, variables, and basic calculations.

Weekly Mini-Task
Create a simple calculator program.

Week 2: Conditions and Decision Making


Day 1 - Python
if, elif, else, comparison operators, logical operators, and nested conditions.

Day 2 - Python Practice


Solving decision-based problems using conditions.

Day 3 - Guided Coding


Build programs that make choices based on user input.

Day 4 - Linux
Creating, copying, moving, deleting, and viewing files.

Linux Commands
cp, mv, rm, cat, nano

Assignment Focus
Practice condition-based programs that use decision making, comparisons, and logical operators.

Weekly Mini-Task
Build a student grade checker.

Week 3: Loops
Day 1 - Python
for loops, while loops, range(), counters, accumulators, break, and continue.

Day 2 - Python Practice


Solving repetition problems using loops.

Day 3 - Guided Coding


Build programs that repeat actions, count values, and generate patterns.

Day 4 - Linux
Viewing and editing files from the terminal.

Linux Commands
head, tail, less, nano

Assignment Focus
Practice loop-based programs that repeat tasks, count values, calculate totals, and generate patterns.

Weekly Mini-Task
Create a multiplication table generator.

Page 4
Week 4: Strings
Day 1 - Python
String indexing, slicing, string methods, looping through strings, and checking characters.

Day 2 - Python Practice


Solving text-based problems.

Day 3 - Guided Coding


Build small programs that work with usernames, passwords, names, and sentences.

Day 4 - Linux
Searching files and counting text.

Linux Commands
grep, find, wc

Assignment Focus
Practice string-based programs that process text, count characters, check patterns, and clean user input.

Weekly Mini-Task
Build a simple password strength checker.

Month 2: Python Foundations and Small Projects


Week 5: Lists
Day 1 - Python
Lists, indexing, slicing, list methods, adding items, removing items, updating items, and looping through lists.

Day 2 - Python Practice


Solving list-based problems.

Day 3 - Guided Coding


Build programs that store and process groups of data.

Day 4 - Linux
Command redirection and combining commands.

Linux Commands
>, >>, |, sort, uniq

Assignment Focus
Practice list-based programs that store multiple values, search through data, calculate totals, and organize items.

Weekly Mini-Task
Build a student score analyzer.

Week 6: Functions
Day 1 - Python
Functions, parameters, arguments, return values, local variables, and reusable code.

Page 5
Day 2 - Python Practice
Turning repeated code into functions.

Day 3 - Guided Coding


Build a program using multiple helper functions.

Day 4 - Linux
File permissions and executable files.

Linux Commands
chmod, sudo, whoami

Assignment Focus
Practice writing reusable functions that solve small problems and reduce repeated code.

Weekly Mini-Task
Create a Python utility program with reusable functions.

Week 7: Dictionaries, Sets, and Tuples


Day 1 - Python
Dictionaries, key-value pairs, tuples, sets, dictionary methods, and set operations.

Day 2 - Python Practice


Solving problems using dictionaries and sets.

Day 3 - Guided Coding


Build programs that store structured information.

Day 4 - Linux
File organization and directory practice.

Linux Practice
Create folders, move files, rename files, delete files, and organize project folders from the terminal.

Assignment Focus
Practice dictionary, set, and tuple problems that store structured data, remove duplicates, and count repeated
values.

Weekly Mini-Task
Build a contact book.

Week 8: File Handling and Object-Oriented Programming Introduction


Day 1 - Python
Reading files, writing files, appending files, and processing text data.

Day 2 - Python
Introduction to Object-Oriented Programming: classes, objects, attributes, methods, constructors, and self.

Day 3 - Guided Coding


Build a small program that uses files and simple classes.

Day 4 - Linux

Page 6
Using Linux commands to read, search, and inspect text files.

Assignment Focus
Practice saving data into files, reading data from files, and creating simple classes to represent real-world objects.

Weekly Mini-Task
Build a simple note-taking app or bank account simulation.

Month 3: Data Structures and Algorithms


Week 9: Introduction to DSA and Searching
Day 1 - DSA
What Data Structures and Algorithms are, why they matter, and how they help solve problems efficiently.

Day 2 - DSA Practice


Linear search, finding values, counting values, and checking if items exist in a list.

Day 3 - Guided Coding


Solve beginner search problems using lists, strings, and dictionaries.

Day 4 - Linux
Shell scripting basics and simple automation.

Linux Topics
Creating .sh files, running shell scripts, and automating repeated commands.

Assignment Focus
Practice beginner DSA problems involving searching, counting, duplicates, and comparing values.

Weekly Mini-Task
Build a simple search program.

Week 10: Sorting and Two-Pointer Problems


Day 1 - DSA
Bubble sort, selection sort, insertion sort, and why sorting is useful.

Day 2 - DSA Practice


Sorting numbers, sorting names, comparing values, and arranging data.

Day 3 - Guided Coding


Solve beginner sorting problems and simple two-pointer problems.

Day 4 - Linux
Processes and system monitoring.

Linux Commands
ps, top, kill, jobs

Assignment Focus
Practice sorting problems, comparison problems, and simple two-pointer exercises.

Page 7
Weekly Mini-Task
Build a sorted contact search program.

Week 11: Stacks, Queues, and Recursion


Day 1 - DSA
Stacks, queues, push, pop, enqueue, dequeue, and real-life examples.

Day 2 - DSA Practice


Solving stack, queue, and recursion problems.

Day 3 - Guided Coding


Build simulations using stacks and queues.

Day 4 - Linux
Git basics.

Linux/Git Commands
git init, git status, git add, git commit, git log

Assignment Focus
Practice stack, queue, and recursion problems through small simulations and beginner coding exercises.

Weekly Mini-Task
Build a browser history simulator.

Week 12: Final Revision and Final Project


Day 1 - Python Revision
Review variables, conditions, loops, strings, lists, functions, dictionaries, files, and OOP.

Day 2 - DSA Revision


Review searching, sorting, stacks, queues, recursion, duplicates, frequency counters, and problem-solving
patterns.

Day 3 - Final Project Work


Plan, build, test, and improve the final project.

Day 4 - Linux and Git


Organize the project folder, use Git, and prepare the final submission.

Final Project Options


- Student grade management system
- Contact management system
- Expense tracker
- Quiz application
- Library management system
- To-do list with file storage
- Bank account system
- Word frequency analyzer

Page 8
Final Project Requirements
- Variables
- Conditions
- Loops
- Functions
- Lists or dictionaries
- File storage if possible
- At least one class if possible
- Clean code structure
- A short README file
- A short explanation of how the program works

Final Programme Outcome


By the end of the three months, she should be able to:

- Write beginner Python programs confidently.


- Use variables, conditions, loops, strings, lists, functions, dictionaries, sets, files, and basic classes.
- Solve beginner coding problems step by step.
- Understand basic Data Structures and Algorithms.
- Use basic Linux terminal commands.
- Use Git to save and track code.
- Build small Python projects independently.
- Prepare for future learning in software engineering, data science, data engineering, DevOps, cybersecurity,
cloud computing, or artificial intelligence.

Page 9

You might also like