0% found this document useful (0 votes)
26 views

Introduction To Programming Lecture - 1

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Introduction To Programming Lecture - 1

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

BAZE UNIVERSITY, ABUJA – NIGERIA

DEPARTMENT OF INFORMATION
TECHNOLOGY

INTRODUCTION TO PROGRAMMMING USING


PYTHON

MATERIAL DEVELOPED

BY

ALHASSAN ABDULMUTALLIB
[email protected]
https://www.linkedin.com/in/alhassan-abdulmutallib-47381294/

May 2024
1. Preamble
According to a survey conducted by the World Economic Forum (WEF),
programming and software development skills are among the top 10 most sought-
after skills in the current job market.

The demand for these skills continues to grow exponentially across various
industries. Programming forms the backbone of technology-driven fields such as
cybersecurity, ML, AI, and data analytics. Proficiency in programming opens
doors to a wide range of career opportunities. Programming cultivates logical
thinking and problem-solving skills, which are invaluable in any profession is
revolutionizing industries, and programming is the key to creating efficient
automated systems.

Furthermore, programming is not the only crucial skill, programming is a


foundational element for success in cybersecurity, machine learning (ML),
artificial intelligence (AI), data analytics, and many other tech-driven fields.
Here's why:

a. Understanding the Underlying Systems


Programming languages are the building blocks of software and systems.
By learning to code, you gain a deeper understanding of how computers
operate, how data is manipulated, and how vulnerabilities arise. This
knowledge is critical for cybersecurity professionals to identify
weaknesses in systems and for AI/ML specialists to optimize algorithms.

b. Automating Tasks and Analysis


Real-world applications in these fields often involve massive datasets and
repetitive tasks. Programming allows you to automate data cleaning,
analysis, and model building, saving significant time and effort. Security
professionals can use scripts to automate vulnerability scans, while data
analysts can write code to streamline data processing.

c. Building Custom Tools and Solutions


Generic tools may not always address specific needs. Programming
empowers you to create custom software or scripts tailored to solve unique
problems. Cybersecurity experts can develop intrusion detection systems,
and data analysts can build custom data visualization dashboards, and
block-chain – all through code.

d. Adaptability and Future-Proofing:


The tech landscape is constantly evolving. Programming skills provide a
foundation for learning new technologies. As new tools and frameworks
emerge, your ability to code will allow you to adapt and stay relevant.

2. Statistic Evidence
There many evidence that shows, programming is fundemantal skill that is
required by all technology enthusiasts. Here are a few examples:

a. ISC Cybersecurity Workforce Report 2021: This report shows that a


significant portion of cybersecurity professionals (63%) consider
programming to be a highly valuable skill (https://www.isc2.org/research).

b. Indeed Hiring Lab Report 2020: The report identified programming


languages like Python, Java, and SQL as some of the most in-demand skills
for AI/ML jobs (https://www.hiringlab.org/post_mwm_category/state-of-
the-labor-market/).
c. Kaggle's 2022 Machine Learning Survey: The survey revealed that Python
is the most popular programming language used by data scientists
worldwide (https://www.kaggle.com/competitions/kaggle-survey-2022).

3. Personal Perspective
In human cognition, our ability to think enables us to analyze our surroundings,
approach problems, and devise logical solutions. Similarly, within computer
science, all facets of computing serve to aid computer scientists in addressing
real-world issues that benefit humanity. Broadly speaking, computer science can
be categorized into three main groups based on technology;

a. Software Development and Engineering (70% of Technology Domain).


Focuses on designing, building, and maintaining software applications and
systems.

b. Data Science and Analytics (15% of Technology Domain). Involves


extracting insights from data through analysis, machine learning, and
statistical modeling.

c. Cybersecurity and Information Assurance (15% of Technology


Domain). Concerned with protecting computer systems, networks, and
data from security threats and unauthorized access.

The tools and techniques relied upon by data scientists and cybersecurity experts
are developed using coding, which follows principles from software engineering.
Similarly, software engineers, who are adept at building functioning systems,
understand the importance of data gathered from various sources like emails,
chats, financial transactions, academic records, population statistics,
transportation data, and more, which are crucial for the work of these
professionals.

“Data scientist and cybesecurity expert rely on data gathered using


software tools, from (emails, chats, bank transactions, school record,
population data, transportation data, e.t.c).”

Figure 1: Data Science in Nutshell

4. Employment Opportunities
In the current job market, numerous opportunities are available for aspiring junior
software engineers to contribute to companies by assisting in the development of
software solutions. These solutions may encompass tasks such as employee data
collection, salary scheduling, notifications, attendance management, and various
other functionalities well-suited for junior software engineers. However, for roles
in specialized fields like Data Analytics, AI, and blockchain, it's essential to first
grasp the fundamentals of software development and possess problem-solving
skills acquired through experience in building simpler solutions. For job listings
in the software engineering field, refer to the following websites:
a. Indeed (www.indeed.com)
b. Glassdoor (www.glassdoor.com)
c. LinkedIn Jobs (www.linkedin.com/jobs)
d. Dice (www.dice.com)
e. Stack Overflow Jobs (www.stackoverflow.com/jobs)
f. GitHub Jobs (www.jobs.github.com)
g. AngelList (www.angel.co/jobs)
h. SimplyHired (www.simplyhired.com)
i. CareerBuilder (www.careerbuilder.com)
j. Monster (www.monster.com)
k. TechCareers (www.techcareers.com)
l. Hired (www.hired.com)
m. We Work Remotely (www.weworkremotely.com)
n. Remote.co www.remote.co
o. The Muse (www.themuse.com)
p. Slack Devcenter Square (https://slack.com)

5. What is Programming
Programming is the process of creating instructions for a computer to perform
specific tasks or solve problems. It involves writing code in a programming
language that the computer can understand and execute.

6. Types of Programming
Imperative Programming: Focuses on specifying a sequence of commands for the
computer to execute.
a. Declarative Programming: Emphasizes describing the desired outcome
rather than the steps to achieve it.
b. Procedural Programming: Organizes code into procedures or functions.
c. Object-Oriented Programming (OOP): Structures code around objects
containing data and behavior.
d. Functional Programming: Treats computation as the evaluation of
mathematical functions.
7. Types of Programming Languages
a. Low-Level Languages: Machine code and assembly language, directly
understandable by hardware.
b. High-Level Languages: More human-readable and abstracted from
hardware, such as Python, Java, and C++.

8. Examples of Solutions Using Python


a. Basic: Automating file management tasks, generating reports from data
files.
b. Advanced: Developing machine learning models for predictive analytics,
creating web applications using Django, building IoT applications with
Raspberry Pi, Embedded Systems.

9. Practical (Installing Python and PyCharm (IDE)


a. Install Python: Visit the official Python website (python.org) and download
the latest version of Python for your operating system.
b. Install PyCharm: Visit the JetBrains website (jetbrains.com/pycharm) and
download the PyCharm Community or Professional Edition based on your
preference.
c. Install Django using pip (Python package manager) by running pip install
django.

10. Assignment (Create a Django Application for Student Data Collection)


a. Define a model class to represent student data fields like Full Name,
Student ID, Course, Email,

You might also like