Introduction To Programming Lecture - 1
Introduction To Programming Lecture - 1
DEPARTMENT OF INFORMATION
TECHNOLOGY
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.
2. Statistic Evidence
There many evidence that shows, programming is fundemantal skill that is
required by all technology enthusiasts. Here are a few examples:
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;
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.
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++.