Skip to content

BrightfieldTechAcademy/Computer-Programming-Beyond-the-basic-use-of-computers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Computer Programming: Beyond the basic use of computers

Introduction and Learning outcomes

This course is specifically designed to prepare our students with no or little experience with computers at all to fully understand computers beyond their basic usage such as playing games, watching videos, etc. and start pushing computers to their full potential through programmin.

After reading this notes, you should be able to:

  • Understand computers and how best you can exploits their benefits
  • Know about software applications, where to get, install, launch and work with them
  • How software application works
  • Know the platforms you can build applications for with your computers.
  • Know how to build software applications and get it used by others.

What is computer

A computer by the popular definition is an electronic device that manipulates data following a list of instructions that have been programmed into it. Because computers are programmable, it has led to the creation of many technologies that we enjoy today. Thanks to the genius of computer programming, we have technologies like Google Search, Instagram, Microsoft Word and many more.

Moving beyond the basic understanding of the computer system as an electronic device that accepts data, processes it and gives out information to a better understanding of computers allows users to determine the hows and whys of the system, which helps them become more effective in using the equipment. We want to channel your thinking of the computer system from just a consumer of programs to a producer of programs.

Every now and then, someone needs certain applications on their mobile phones, laptops, or desktops to do certain things and that has made computers become a vital part of everyday life. Without having software applications the computers are nothing but useless steel and plastic. This makes software very essential to a computer because it controls everything the computer does.

Component of computer system

Every personal computer system we have is made up of different pieces of electrical hardware. These electrical hardwares function together to make the computer achieve its goal. From the user interacting with the computer, to the computer sending output to the output devices, determines the various components that come together for the computer to achieve the end goal. In terms of functionality of the computer, we have four(4) main components and they are:

  • Input Unit
  • Central Processing Unit
  • Memory Unit
  • Output Unit

All these four come together for the computer to execute the programs being used by the users. So any moment a user starts using the software, the computer system makes use of the hardware component to execute the program. Let's see how all these components work using a sample application, student management system for managing students of a particular school. Taking a particular feature of the application responsible for saving student data into a database from an uploaded excel sheet. The user sends that data to the application through an input device, here the mouse. The computer stores the data and the student management system program into its memory, the CPU fetches the data and instructions from memory, processes the data per the instructions and sends that back to the memory for the output devices.

What makes a computer different from other electronic devices?

In general, most "electronic" devices are made for a single purpose. You buy a radio, or a GPS device, a TV set, or some sort of test equipment.

Computers are by their nature user programmable. They being programmable make them different; so can do all sorts of things and add new functions to old mature technologies.

Software

If a computer is to function, software is not optional. Everything that a computer does,

from the time you turn the power switch on until you shut the system down, is under the

control of software. Having a computer is awesome, but without any programs, it's nothing but useless steel and plastic.

A software is a set of instructions that a computer follows to perform a task.

For example, WhatsApp is a communication program that allows us to communicate via a chat on our mobile phones or desktop computers. There are many software out there we use such as Microsoft Word, a word processing program that allows us to create, edit and print documents.

All the software that we use to make the computers useful are created by individuals working as coders or programmers or software developers or software engineers. The people write a set of instructions for computing devices and systems. The process of doing that is termed as programming or coding. They use programming languages and other resources while programming software.

Categories of Software

There are two general categories of software: system software and application software. Most computer programs clearly fit into one of these two categories:

System Software

The programs that control and manage the basic operations of a computer are generally referred to as system software. System software typically includes the following types of programs:

  • Operating Systems

An operating system is the most fundamental set of programs on a computer. The operating system controls the internal operations of the computer's hardware, manages all of the devices connected to the computer, allows data to be saved to and retrieved from storage devices, and allows other programs to run on the computer.

  • Utility Programs

A utility program performs a specialised task that enhances the computer's operation or safeguards data. Examples of utility programs are virus scanners, file compression programs, and data backup programs.

  • Software Development Tools:

Software development tools are the programs that programmers use to create, modify, and test software. Assemblers, compilers, and interpreters are examples of programs that fall into this category

Application Software

Application Software Programs that make a computer useful for everyday tasks are known as application software. These are the programs that people normally spend most of their time running on their computers. Examples are: Microsoft Word, Adobe Photoshop, WhatsApp, Instagram.

Sample Software

We've had a look at a few software; WhatsApp and Microsoft Word. There are many applications out there we can use on our computing devices. For educational purposes, we will limit ourselves two just; Operating System Software, File System Software and Web Browsing Software. They come in very handy when you want to go beyond just consuming softwares to programming your own softwares.

Operating System(OS)

Under system software, we read that an operating system is the most fundamental set of programs on a computer. It is the first software the computer runs and without it other software cannot operate. There are many operating systems that can power personal computers. We have MacOS X for Apple computers, Microsoft Windows and Linux. For mobile devices too, the two common operating systems are the Android Operating System and iOS for iPhones.

When you are building a software, you determine the kind of operating system you are building for. Applications that are built to run on only MacOS X can't run on computers powered by Windows or Linux. However, you can also build one that can run on all the operating systems using the available cross platform developer tools.

File System Software

Every operating system powering computers provides a default software for managing files and folders. On windows, the file explorer application helps to browse, create, delete and update files and folders. On MacOXS X, we use the finder app to achieve the same goal. Accessing the file system by clicking through graphical icons and visual indicators is the Graphical User Interface approach of exploring the file system.

We can also explore the file system using the Command Line Interface approach. With this, we issue commands through the command line app. On windows, the default command line app is the command prompt. Lately, we have additional apps we can use to run commands on windows such as bash, window powershell. On MacOS X, the default command line app is the terminal.

Working with the file system(folders and files)

Let's learn more about the file system through the graphical user and command line interface.

Graphical User Interface(GUI)

Below is the Finder, a GUI app for managing the file system on MacOS X

And the File Explorer, also a GUI app for managing the file system on Windows

Command Line Interface(CLI)

Another way of interacting with the filesystem is through CLI applications using commands. The most popular CLI apps are terminal, command prompt, powershell. Here you issue commands to perform certain actions. For example to list files and folders in a directory you can use the ls or dir commands.

Web Browser

Generally, an application that makes it possible to interact on the internet through either searching or visiting a website or web app. We have browsers like chrome, edge, opera

Working with Application Software

Anytime, you want to work with any software, you need to find from your computer system, if that software is installed and is working well. If not the first thing to do is to install the software, launch it and start using it.

To install the software is to find from a source such as

  1. app page,
  2. any of the operating system stores(Microsoft store for Windows, App Store for MacOs, Snap Store for Linux)
  3. third party source which is mostly a website created by a third party to make software available

How software works

Building application software

Before you build any software, you first need to ask yourself, which platform you want to build that app for which basically means where could users interact with the application from. Are the users going to access the application through mobile interface, web interface, command line interface. And this leads us to the various platforms you should know when building applications.

Kinds of applications you can build

Web : Any Application that you will be accessing through a web browser is classified as a web application. So facebook.com is web application, digitalocean.com is a web application, github.com

Desktop : These applications run locally on your computer device. You typically search for them on your computer, click on them and start using them. So the browser like chrome which is locally available on your computer is a desktop application.

Mobile : Any application you can use right by clicking on them on your mobile device becomes a mobile application. So the Facebook app on your phone is a mobile application in the context of using it from a mobile phone by just clicking on it from your computer.

Command Line Interface(CLI): Applications that you work with mostly from the terminal or command line are CLI apps.

Command Line Interface(CLI): Applications that you work with mostly from the terminal or command line are CLI apps.

Software Development Tools:

To build most of the various applications we mentioned earlier, be it web, desktop, CLI, mobile or USSD application, you will need most of these tools to build your software.

  1. Programming language

To build a software, the basic underlying tool you need is a programming language and these languages can help you build apps for a particular(native) platform platform) or many(cross) platforms. The language being the basic tool, we have developers working hard to build tools to make working with the basic language easier by bringing together many features or functionalities together which has led to development of tools like

  1. Libraries

  2. Frameworks

  3. Programming Language Supersets

  4. Compilers/interpreters

  5. Text Editors

  6. Testing tools: Browser, Emulators,terminal, etc

  7. Deployment tools: Playstore, servers, cloud, appstore

Building web apps:

To build web applications, you will need those software development tools.

For instance the programming language, we will use HTML, CSS, JavaScript, etc. In terms of compilers, we will use the web browser; it contains a compiler. And will use Visual studio Code as our text editor and test our sample applications over the browser and deploy them to DigitalOcean cloud.

Final words about exploring the computer system to build application software

To the best of my experience about building software applications, it's all about

  • Writing your very first line code
  • Learning something new
  • Facing issues and figuring out a solution
  • Completing projects
  • Learning how to nail your first coding interview
  • Starting your entry software developer role
  • Living the life you want

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published