Professional Documents
Culture Documents
Seven Steps To Programming
Seven Steps To Programming
ON
STUDENTS’ INDUSTRIAL WORK EXPERIENCE SCHEME
(SIWES)
CARRIED OUT AT
NEW HORIZONS COMPUTER LEARNING CENTRES
BY
SUBMITTED TO:
THE DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
FACULTY OF ENGINEERING TECHNOLOGY
LADOKE AKINTOLA UNIVERSITY OF TECHNOLOGY,
OGBOMOSO, OYO STATE
P.M.B.4000
NOVEMBER, 2019.
1
CERTIFICATION
This is to certify that the project was carried out and duly reported by OLADEJI
OLUWAPELUMI .H. Matric number: 140023 of the Department of Computer Science and
Engineering, Faculty of Engineering and Technology, Ladoke Akintola University of
Technology, Ogbomoso, Nigeria during the Industrial Training in partial fulfilment for the
award of Btech in Computer Science.
……………………………………. ……………………………..
DR R.A GANIYU Date
(SIWES Coordinator)
……………………………………. ……………………………..
Engr. Dr A. Oke Date
(Head of Department)
2
DEDICATION
This program report is dedicated to God Almighty who spared my life and made this training
a success, to all lecturers in the department of Computer Science and Engineering, and also to
my family for their assistance, and support during my training.
3
ACKNOWLEDGMENT
A report like this can hardly be completed without the aid and support of some individuals
who should be acknowledged. My ultimate gratitude goes to the Almighty God, who has
been my protector and guide throughout the period of my training. My profound gratitude
goes to my parent and my siblings who supported me during this period, may the good Lord
bless and keep you. My thanks also go to all the staff and my colleagues I worked with at
NEW HORIZONS COMPUTER LEARNING CENTRES. I also express my gratitude to my
trainee in person of Mr. Lawoyin Olatunji P. (Technical Manager) and Mr. Oyekanmi
Damilola O. (Assistant Technical Manager) for their support, advice and encouragement
during my training. May almighty God reward you all.
This work would be incomplete if I fail to acknowledge the management and staff of
LAUTECH and all the lecturers of the department of Computer Science and Engineering and
Faculty of Engineering and Technology at large, for giving me the opportunity to gain more
knowledge through this industrial training. God bless you all.
4
TABLE OF CONTENTS
CERTIFICATION 2
DEDICATION 3
AKNOWLEGEMENT 4
5
CHAPTER ONE
1.0 INTRODUCTION
HISTORY OF SIWES
SIWES, which is the acronym for the Students’ Industrial Work Experience Scheme is a
skilled training scheme and integral part of the fulfilment of the award of Bachelor of
Technology (B.Tech). It provides each student the opportunity for practical and work
The Student Industrial Work Experience Scheme {SIWES} was established by the
Industrial Training Fund {I. T. F} in 1973 to solve the problem of lack of adequate practical
sponsored by the Federal Government of Nigeria. The reason behind the establishment of
SIWES was due to the observed changes in skills requirement, need for competence building
among students, a need to give students of science, Engineering and Technology hands-on
training and work experience pertaining to their field. Also, expectations from employers of
labor – working experience, contribute to the need to establish the SIWES program.
The SIWES program has objectives that can be summarized in a statement as follows:
to facilitate industrial skill and work experience acquisition by students of higher learning,
thus exposing students to work methods and techniques which afford them opportunity to
apply into practice their theoretical knowledge and at the same time affording the employers
participation in the educational process of the indigenous work force. The SIWES program
started in 1974 with 748 students from 11 institutions, the scheme has evolve overtime and as
at 2008 alone 204 institutions and 210, 390 students participated in the scheme, and this
number is bound to increase over time. Training is a key factor in enhancing the efficiency
and expertise of the workforce. The SIWES program prepares students for labor markets. It
6
has become an innovative phenomenon in human resources development and training in
Nigeria.
Practical knowledge is learning without which mastery of an area of knowledge may be too
difficult to achieve. Practical knowledge involves developing skills through the use of tools
or equipment to perform tasks that are related to a field of study. No society can achieve
meaningful progress without encouraging its youth to acquire necessary practical skills. Such
skills enable them to harness available resources to meet the needs of the society. It was
against this background that SIWES, otherwise referred to as Industrial Training (IT), was
program that involves institutions of higher learning, Industries, The Federal Government of
Nigeria, Industrial Training Fund (ITF), Nigerian Universities Commission (NUC) and
NBTE/NCCE in Nigeria, SIWES forms part of the approved minimum academic standards in
these institutions.
The aims of the Student Industrial Work Experience Scheme (SIWES) are;
and ways of safe-guarding the work areas and workers in industries and
organizations.
knowledge.
7
1.3 OBJECTIVES OF SIWES
To prepare students for the work situation they are likely to meet after
graduation .
To make the transition from the University to the world of work easier, and thus
New Horizons:
technology have accelerated, it’s become even more essential for people to master technology
even grow companies of their own. For 35 years, New Horizons has provided more than 30
million students with industry-leading technical training that delivers the most relevant and
intuitive computer courses and certifications. We’re now the world’s largest independent IT
training company, and we continue to lead: With more than 70 locations in North America,
8
the New Horizons Franchise network spans six continents and over 35 countries embracing
Ranked in the top 5% of the industry for training quality and customer satisfaction
Official training partner for technology leaders such as Microsoft, Cisco, CompTIA and
VMware
Microsoft’s largest training provider, delivering more than 40% of all authorized Microsoft
authorized partner to the top technology providers. For students that means training with the
highest quality source materials and the latest products and technologies. For businesses it
1. FIRST AND BEST: In 1982—back when the term “Internet” was first used—we became
Technical Education Centers, expanding into South America, Asia, Africa and the Middle
East.
3. VIRTUAL IT: In 1998 we opened our virtual doors with the introduction of Online
4. HOT GROWTH: In 2001 Business Week added us to its list of “100 Hot Growth
Companies.
5. TRAINING PARTNER TO MANY: In 2007 we were named training partner to all 100
companies listed in Fortune magazine’s ranking of America’s 100 largest corporations, plus
9
1.5 ORGANOGRAM OF ORGANIZATION
10
CHAPTER TWO
Naturally enough, you should start with a clear idea of what you want the program to
do. Think in terms of the information your program needs, the feats of calculation and
manipulation the program needs to do, and the information the program should report back to
you. At this level of planning, you should be thinking in general terms, not in terms of some
After you have a conceptual picture of what your program ought to do, you should
decide how the program will go about it. What should the user interface be like? How should
the program be organized? Who will the target user be? How much time do you have to
complete the program? You also need to decide how to represent the data in the program and,
possibly, in auxiliary files, as well as which methods to use to process the data. When you
first learn programming in C, the choices will be simple, but as you deal with more complex
situations, you'll find that these decisions require more thought. Choosing a good way to
represent the information can often make designing the program and processing the data
mucheasier. Again, you should be thinking in general terms, not about specific code, but
11
Have a clear design for your program, you can begin to implement it by writing the
code. That is, you translate your program design into the C language. Here is where you
really have to put your knowledge of programming to work. You can sketch your ideas on
paper, but eventually you have to get your code into the computer. The mechanics of this
process depend on your programming environment. We'll present the details for some
common environments soon. In general, you use a text editor to create what is called a source
code file. This file contains the C rendition of your program design. As part of this step, you
should document your work. The simplest way is to use C's comment facility to incorporate
explanations into your source code. Chapter 2, "Introducing C," will explain more about
Step 4: Compile
The next step is to compile the source code. Again, the details depend on your
programming environment, and we'll look at some common environments shortly. For now,
Recall that the compiler is a program whose job is to convert source code into
executable code. Executable code is code in the native language, or machine language, of
your computer. This language consists of detailed instructions expressed in a numeric code.
As you read earlier, different computers have different machine languages, and a C compiler
translates C into a particular machine language. C compilers also incorporate code from C
libraries into the final program; the libraries contain a fund of standard routines, such as
printf() and scanf(), for your use. (More accurately, a program called a linker brings in the
library routines, but the compiler runs the linker for you on most systems.) The end result is
an executable file containing code that the computer understands and that you can run.
12
The compiler also checks that your program is valid C. If the compiler finds errors, it
reports them to you and doesn't produce an executable file. Understanding a particular
Traditionally, the executable file is a program you can run. To run the program in
many common environments, including MS-DOS, Unix, Linux consoles, just type the name
of the executable file. Other environments, such as VMS on a VAX, might require a run
those provided for Windows and Macintosh environments, allow you to edit and execute your
C program from within the IDE by selecting choices from a menu or by pressing special
keys. The resulting program also can be run directly from the operating system by clicking or
The fact that your program runs is a good sign, but it's possible that it could run
incorrectly. Consequently, you should check to see that your program does what it is
supposed to do. You'll find that some of your programs have mistakes—bugs, in computer
jargon. Debugging is the process of finding and fixing program errors. Making mistakes is a
natural part of learning. It seems inherent to programming, so when you combine learning
and programming, you had best prepare yourself to be reminded often of your fallibility. As
you become a more powerful and subtle programmer, your errors, too, will become more
powerful and subtle. You have many opportunities to err. You can make a basic design error.
You can implement good ideas incorrectly. You can overlook unexpected input that messes
up your program. You can use C incorrectly. You can make typing errors. You can put
13
parentheses in the wrong place, and so on. You'll find your own items to add to this list.
Fortunately, the situation isn't hopeless, although there might be times when you think it is.
The compiler catches many kinds of errors, and there are things you can do to help yourself
track down the ones that the compiler doesn't catch. This book will give you debugging
When you create a program for yourself or for someone else, that program could see
extensive use. If it does, you'll probably find reasons to make changes in it. Perhaps there is a
minor bug that shows up only when someone enters a name beginning with Zz, or you might
think of a better way to do something in the program. You could add a clever new feature.
You might adapt the program so that it runs on a different computer system. All these tasks
are greatly simplified if you document the program clearly and if you follow sound design
practices.
Web development is evolving rapidly. One of the latest focuses in the market, being
deployed to a great extent in the World, is the Python programming language, which allows
projects to be carried out swiftly and in a versatile way. The syntax, written in the late 80s by
Guido Van Rossum – now in version 3.5.0a4. – has become one of the essential choices for
software developers. This is intended as a list of the basic tools for developers who have
programming, structured programming and functional programming. Not to mention the fact
14
BeeWare is more than just a tool; in fact it is a toolbox to help develop and debug
software in Python. The big difference between BeeWare and an IDE (integrated
development environment) is that each tool in that box can be used independently from each
other. Each can be used to carry out small tasks and all can be simultaneously used separately
- Cricket: this is a graphical tool for running unit tests. The tool does not offer many details
of the execution while the suite is underway and it is not possible to start looking for faults
until execution is complete. This results in Cricket not being a great tool for identifying
patterns of faults in these unit tests or for rerunning failed tests. Cricket supports Django, a
framework of open source code that is written in Python and used to develop web
applications faster.
- Bugjar: this is a tool for debugging code errors. The old debuggers were good for their
integrated development environments and being able to debug errors visually during
execution. The Python debugging model contains appealing debugging methods. It also has a
graphical interface that lets you navigate the code to correct errors.
- Duvet: this is a graphical interface that helps developers visualize the results of coverage of
tests returned by coverage.py, a tool that works to measure coverage of program code in
Python. Such actions serve to measure the effectiveness of tests, separately showing which
parts of the code are worked by testing and which are not.
- Toga: a package of native tools for each system, made in Python that can be used for
15
- iOS template: a template that allows us to develop applications in Python but implement
them in iOS.
Cassowary, the algorithm that has been used within the graphics engine of Mac OS X (Lion
2. BOA CONSTRUCTOR:
Python developers have this integrated development environment (IDE) with a built-
in graphical user interface (GUI) for wxPython. This tool includes an object inspector,
written in Python.
The user interface consists of a set of separate tools used to create and debug applications
- Paleta: this tool allows developers to access objects such as buttons, text boxes, frames and
create packages and modules for our applications. This is the first step to generating a new
- Editor: this is the part of BOA Constructor where developers can access the source code of
the application they are creating. You can correct errors and run the application to identify
16
An integrated development environment is a software application that allows software
developers to design in a simple way. This has all the necessary tools integrated into a single
environment: an editor for source code, automated build tools and a debugger. There are
PyDev for Eclipse: PyDev is a Python package for Eclipse, an extremely versatile IDE,
which is able to support not only the Python language, but many others. It has particularly
- Integration with Django, a framework for web development of open source written in
Python. Django allows developers to create complex web projects through rapid development
using the Don’t Repeat Yourself computing principle, which seeks to remove duplication in
development processes.
- Code completion.
- Syntax highlighting.
- Code analysis.
- Interactive browser.
- Refactoring.
PyCharm: this is an IDE created by JetBrains. It has an incredible reputation within the
Python developer community. Some even describe it as the best IDE for Python. This is an
integrated development environment with hundreds of functions, which can turn the tool into
17
- Auto-completion.
- Syntax highlighter.
- Analysis tool.
- Refactoring.
debugger.
- Compatibility with programming tools and languages for developers in Python such as
18
CHAPTER THREE
It has simple easy-to-use syntax, making it the perfect language for someone trying to learn
This is a comprehensive guide on how to get started in Python, why you should learn it and
development (like: Django and Bottle), scientific and mathematical computing (Orange,
The syntax of the language is clean and length of the code is relatively short. It's fun to work
in Python because it allows you to think about the problem rather than focusing on the
syntax.
Keywords are the reserved words in Python. We cannot use a keyword as a variable name,
function name or any other identifier. They are used to define the syntax and structure of the
Python language. In Python, keywords are case sensitive. There are 33 keywords in Python
3.7. This number can vary slightly in the course of time. All the keywords except True, False
19
Rules for writing identifiers
An identifier cannot start with a digit. 1variable is invalid, but variable1 is perfectly
fine.
In Python, function is a group of related statements that perform a specific task. Functions
help break our program into smaller and modular chunks. As our program grows larger and
larger, functions make it more organized and manageable. Furthermore, it avoids repetition
20
Syntax of Function
def function_name(parameters):
"""docstring"""
statement(s)
English language has 26 characters. Computers do not deal with characters, they deal with
numbers (binary). Even though you may see characters on your screen, internally it is stored
and manipulated as a combination of 0's and 1's. This conversion of character to a number is
called encoding, and the reverse process is decoding. ASCII and Unicode are some of the
21
3.6 IMPORTANT USES OF PYTHON
Python can be more user-friendly because of its advantages. Please find below the uses of
1. Applications:
Python can be used to develop different applications like web applications, graphic user
22
ii. Bank Management System
v. Tax Calculator
Python is also used because of its providing continuous support to several programming
has features, which also support various concepts of functional programming language. It is
used for dynamic type system and automatic memory management. Python language features
and programming paradigms allow you for developing the small as well as large applications.
Python has a large and robust standard library to use for developing the applications. It also
makes the developers use Python over other languages. The standard library helps in using
the different range of modules available for Python. As this module helps you in adding the
functionality without writing any more code. To get the information about various modules,
23
documentation on python standard library can be referred. While developing any web
application, implementing web services, performing string operations and other usages like
Python is mainly compatible with major platforms and systems because of which it is used
mainly for developing applications. With help of python interpreters, python code can be run
interpreted high-level programming language and it allows you to run the code on multiple
platforms. The new and modified code can be executed without recompiling and its impact
can be monitored or checked. It means it’s not required to recompile the code after every
change. This feature helps in saving the development time of the developers.
5. Access of Database:
Uses of Python also helps in accessing the database easily. Python helps in customizing the
interfaces of different databases like MySQL, Oracle, Microsoft SQL Server, PostgreSQL,
and other databases. It has an object database like Durus and ZODB. It is used for standard
6. Code Readability:
Python code is easy to read and maintained. It is easily reusable as well wherever it is
required. Python’s having simple syntax, which allows the different concepts to develop
without writing any additional code. The code should be of good quality and easy to maintain
the source code and simplify the maintenance, which is required to develop the software
application. It also emphasizes code readability, which is the great feature, unlike other
programming languages. It helps in building custom applications and clean code helps in
maintaining and updating the software applications without putting extra effort on the same
code.
24
7. Simplify Complex Software Development:
application like scientific and numeric application, and for both desktop and web
applications. Python has features like analyzing data and visualization, which helps in
creating custom solutions without putting extra effort and time. It helps you to visualize and
Python is open source and easily available. This also helps in costing the software
development significantly. There are many open source applications of python frameworks,
libraries, and development tools for developing the application without putting extra cost.
Python frameworks simplify and make the process faster for web application development
and the frameworks are Django, Flask, pyramid etc. Python GUI frameworks are available
Computer graphics is an art of drawing pictures, lines, charts, etc using computers with the
smallest graphical picture or unit represented on the computer screen. Basically there are two
communication between computer and user. Here the observer is given some control over the
25
image by providing him with an input device for example the video game controller of the
ping pong game. This helps him to signal his request to the computer.
The computer on receiving signals from the input device can modify the displayed picture
appropriately. To the user it appears that the picture is changing instantaneously in response
to his commands. He can give a series of commands, each one generating a graphical
response from the computer. In this way he maintains a conversation, or dialogue, with the
computer.
Interactive computer graphics affects our lives in a number of indirect ways. For example, it
helps to train the pilots of our airplanes. We can create a flight simulator which may help the
pilots to get trained not in a real aircraft but on the grounds at the control of the flight
simulator. The flight simulator is a mock up of an aircraft flight deck, containing all the usual
controls and surrounded by screens on which we have the projected computer generated
Flight simulators have many advantages over the real aircrafts for training purposes,
including fuel savings, safety, and the ability to familiarize the trainee with a large number of
known as passive computer graphics. It is the computer graphics in which user does not have
any kind of control over the image. Image is merely the product of static stored program and
will work according to the instructions given in the program linearly. The image is totally
under the control of program instructions not under the user. Example: screen savers.
26
CHAPTER FOUR
5.1 SUMMARY
27
The whole work piece has been the details on the Student Industrial Work Experience
Scheme (SIWES) which was observed at The unit of attachment being the computer
learning centre which have been able to equip and educate me as regards a practical
aspect of my course, that is, I was able to know the importance of computer science in
the programming, graphics designs and artificial intelligence.
5.2 RECOMMENDATION
students during SIWES, as most industries (place of attachment) do not pay the
iii. SIWES should be continued in all our institutions because it exposes the students
iv. Government should fund establishment with appropriate finance to get the latest and
needed equipment that will improve and make learning easy for interns.
v. There should be provision of more relevant equipment to carry out computer science based
work out.
vi. Students should be exposed to more practical knowledge before been sent on industrial
training.
5.3 CONCLUSION
The SIWES training I underwent at NEW HORIZONS COMPUTER LEARNING
CENTRES is an eye opener to the reality of the computer science, especially of the
28
programming. It made me realize that the wide scope of computer science field is all centered
on the developing the world.
I have also been able to improve my communication and presentation skills and thereby
developed good relationship with my fellow colleagues at work. I have also been able to
appreciate the connection between my course of study and other disciplines in producing a
successful result.
29