Professional Documents
Culture Documents
Hjj
Hjj
TIT 399
FACULTY OF TECHNOLOGY
UNIVERSITY OF IBADAN
i|Page
UNDERTAKEN AT:
SALTUNS TECH COMPANY,
TECH UNIT,
FACULTY OF TECHNOLOGY, UNIVERSITY OF IBADAN.
OCTOBER, 2023.
ii | P a g e
CERTIFICATION
I, SANUSI PAUL TEMITAYO with matriculation number 215359, hereby declare that I
undergo three months of Industrial Training Program at Tech company, computer programming
unit, Faculty of Technology, University of Ibadan, Ibadan and that this report is written by me to
the best of the practical knowledge I gained during the course of the training program.
iv | P a g e
ACKNOWLEDGEMENT
First of all, my sincerest gratitude goes to my God, the lord of all that exist.
Then to my dear parents MR.& MRS. SANUSI for taking care of me and showing me the way of
The Lord.
Then to my families (deserving honorary mentioning are my siblings, for being there for me and
helping me in my time of need) and friends.
Then to all the members of the best department in the world, The department of Agric and
Environmental Engineering.
Then to all the members and staff of The Technical Support Unit.
Then to my immediate supervisor, ENGR. SALAMI EMMANUEL for his effort to make sure I
have a quality experience. His ability to tutor and train me to be a good programmer in that short
period still amazes me. Thanks to you sir.
Also, to my course mates whom we did the industrial training together. I must say, your
commitment to make the best out of the program was all that was needed to keep me motivated.
Finally, I would like to appreciate the Industrial Training coordinating Centre (ITCC) for giving
us the opportunity to learn that which cannot be taught within the four walls of the lecture room;
WORK EXPERIENCE.
v|Page
DEDICATION
This report work is dedicated to the glory of God, and my parents. To my amiable brother and
sisters Sanusi Temitope Mayor and Sanusi Oluwatobi, lovely younger sister Sanusi Tolani Mary.
TABLE OF CONTENT
vi | P a g e
Submission letter____________________________________________________________ II
Certification________________________________________________________________III
Acknowledgement __________________________________________________________IV
Dedication________________________________________________________________ V
Table of Contents____________________________________________________________VI
Abstract ___________________________________________________________________
VIII
Introduction _______________________________________________________________IX
An Overview of Technical Support Unit_________________________________________ X
CHAPTER 1
WORKSHOP SAFETY
CHAPTER 5
WELDING DEFECTS AND REMEDIES
ABSTRACT
This report is a detailed summary of everything I was able to learnt and researched during the
course of three months industrial training program at the Saltuns tech company at their computer
programming unit, University of Ibadan, Ibadan.
This Report contains Chapters on computer programming, mainly C++
INTRODUCTION
The Students Industrial training is a Program designed to give students the needed experience
and also to prepare for to work situation they are likely to meet after graduation. It was provided
as an attempt to breach the gap between theoretical and practical curriculum of engineering,
technology, science, medical, and other professional programmes in the Nigeria educational
system. It was aimed at exposing students to needed experience in handling of machineries and
equipment which are usually not available in the educational institutions. Also, it enables
students to familiarize themselves with the environment and know how to relate with other
people, which prepare them for the outside world.
ix | P a g e
A great deal of knowledge and tremendous skills was imbibed in me during the three months of
training I went through at programming unit, at Saltuns tech company, Ibadan.
At my industrial training place, I trained how to integrate the engineering sectors with
programming languages.
My bosses there are very hardworking and who they do their work on time and efficiently.
Also my boss Engineer Salami Emmanuel is an expert in computer programming field due to
x|Page
his long time in the business for over 10 years, he has worked in different companies within
and outside Ibadan, Oyo State.
I was also taught how to solve various technological programs using C++ and python
1|Page
The previous program is the typical program that programmer apprentices write for the
first time, and its result is the printing on screen of the "Hello World!" sentence. It is one
of the simplest programs that can be written in
C++, but it already contains the fundamental components that every C++ program has. We
are going to look line by line at the code we have just written:
// my first program in C++
This is a comment line. All lines beginning with two slash signs (//) are considered
comments and do not have any effect on the behavior of the program. The programmer
can use them to include short explanations or observations within the source code itself. In
this case, the line is a brief description of
what our program is.
#INCLUDE <IOSTREAM>
Lines beginning with a hash sign (#) are directives for the preprocessor. They are not
regular code lines
2|Page
with expressions but indications for the compiler's preprocessor. In this case the directive
#include
<iostream> tells the preprocessor to include the iostream standard file. This specific file
(iostream) includes the declarations of the basic standard input-output library in C++, and
it is included because its functionality is going to be used later in the program.
USING NAMESPACE STD;
All the elements of the standard C++ library are declared within what is called a
namespace, the namespace with the name std. So in order to access its functionality we
declare with this expression that we will be using these entities. This line is very frequent in
C++ programs that use the standard library, and in fact it will be included in most of the
source codes included in these tutorials.
INT MAIN ()
This line corresponds to the beginning of the definition of the main function. The main
function is the point
by where all C++ programs start their execution, independently of its location within the
source code. It
does not matter whether there are other functions with other names defined before or after
it - the
instructions contained within this function's definition will always be the first ones to be
executed in any
C++ program. For that same reason, it is essential that all C++ programs have a main
function.
The word main is followed in the code by a pair of parentheses (()). That is because it is a
function
declaration: In C++, what differentiates a function declaration from other types of
expressions are these
parentheses that follow its name. Optionally, these parentheses may enclose a list of
parameters within
them.
Right after these parentheses we can find the body of the main function enclosed in braces
({}). What is
contained within these braces is what the function does when it is executed.
cout represents the standard output stream in C++, and the meaning of the entire
statement is to insert
a sequence of characters (in this case the Hello World sequence of characters) into the
standard output
stream (which usually is the screen).
cout is declared in the iostream standard file within the std namespace, so that's why we
needed to
include that specific file and to declare that we were going to use this specific namespace
earlier in our
code.
Notice that the statement ends with a semicolon character (;). This character is used to
mark the end of
the statement and in fact it must be included at the end of all expression statements in all
C++ programs
(one of the most common syntax errors is indeed to forget to include some semicolon after a
statement).
RETURN 0;
The return statement causes the main function to finish. return may be followed by a
return code (in our
example is followed by the return code 0). A return code of 0 for the main function is
generally interpreted
as the program worked as expected without any errors during its execution. This is the
most usual way to
end a C++ console program.
You may have noticed that not all the lines of this program perform actions when the code
is executed. There were
lines containing only comments (those beginning by //). There were lines with directives for
the compiler's
preprocessor (those beginning by #). Then there were lines that began the declaration of a
function (in this case,
the main function) and, finally lines with statements (like the insertion into cout), which
were all included within
the block delimited by the braces ({}) of the main function.
The program has been structured in different lines in order to be more readable, but in C+
+, we do not have strict
rules on how to separate instructions in different lines. For example, instead of
int main ()
{
4|Page
}
And the result would again have been exactly the same as in the previous examples.
Preprocessor directives (those that begin by #) are out of this general rule since they are not
statements. They are
lines read and processed by the preprocessor and do not produce any code by themselves.
Preprocessor directives
must be specified in their own line and do not have to end with a semicolon (;).
ADDITION OF COMMENTS TO OUR PROGRAM
Comments are parts of the source code disregarded by the compiler. They simply do
nothing. Their purpose is only
to allow the programmer to insert notes or descriptions embedded within the source code.
C++ supports two ways to insert comments:
// line comment
/* block comment */
The first of them, known as line comment, discards everything from where the pair of slash
signs (//) is found up
to the end of that same line. The second one, known as block comment, discards everything
between the /*
characters and the first appearance of the */ characters, with the possibility of including
more than one line.
If you include comments within the source code of your programs without using the
comment characters
combinations //, /* or */, the compiler will take them as if they were C++ expressions, most
likely causing one or
several error messages when you compile it.
VARIABLES
DECLARATION OF VARIABLRS CODE EXAMPLE
int main ()
{
// declaring variables:
int a, b;
int result;
// process:
a = 5;
b = 2;
a = a + 1;
result = a - b;
// print out the result:
cout << result;
// terminate the program:
return 0;
int a;
int b;
int c;
7|Page
To see what variable declarations look like in action within a program, we are going to see
the C++ code of the example about your mental memory proposed at the beginning of this
section:
// operating with variables
#include <iostream>
using namespace std;
int main ()
{
// declaring variables:
int a, b;
int result;
// process:
a = 5;
b = 2;
a = a + 1;
result = a - b;
// print out the result:
cout << result;
// terminate the program:
return 0;
}
INTRODUCTION TO STRINGS
Variables that can store non-numerical values that are longer than one single character are known
as strings. A first difference with fundamental data types is that in order to declare and use
objects (variables) of this type we need to include an additional header file in our source code:
and have access to the std namespace (which we already had in all our previous programs thanks
to the using namespace statement).
CONSTANTS
8|Page
'z'
'p'
"Hello world"
"How do you do?"
DEFINED CONSTANTS (#DEFINE)
You can define your own names for constants that you use very often without having to resort to
memoryconsuming variables, simply by using the #define preprocessor directive. Its format is:
CHAPTER 2
PERFORMING VARIOUS OPERATION WITH C++
OPERATORS
Once we know of the existence of variables and constants, we can begin to operate with them.
For that purpose, C++ integrates operators. Unlike other languages whose operators are mainly
keywords, operators in C++ are mostly made of signs that are not part of the alphabet but are
available in all keyboards. This makes C++ code shorter and more international, since it relies
less on English words, but requires a little of learning effort in the beginning.
For example, let us have a look at the following code - I have included the evolution of the
content stored in the variables as comments:
// assignment operator a:4 b:7
#include <iostream>
using namespace std;
int main ()
{
int a, b; // a:?, b:?
a = 10; // a:10, b:?
b = 4; // a:10, b:4
a = b; // a:4, b:4
b = 7; // a:4, b:7
cout << "a:";
cout << a;
cout << " b:";
cout << b;
return 0;
}
ARITHMETIC OPERATORS ( +, -, *, /, % )
* multiplication
/ division
% modulo
== Equal to
!= Not equal to
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to
CONDITIONAL OPERATOR ( ? )
The conditional operator evaluates an expression returning a value if that expression is true and a
different one if
the expression is evaluated as false. Its format is:
// conditional operator 7
#include <iostream>
using namespace std;
int main ()
{
int a,b,c;
a=2;
b=7;
c = (a>b) ? a : b;
cout << c;
return 0;
}
BASIC INPUT/OUTPUT
C++ uses a convenient abstraction called streams to perform input and output operations in
sequential media such as the screen or the keyboard. A stream is an object where a program can
either insert or extract characters to/from it. We do not really need to care about many
specifications about the physical media associated with the stream - we only need to know it will
accept or provide characters sequentially. The standard C++ library includes the header file
iostream, where the standard input and output stream objects are declared.
The standard input device is usually the keyboard. Handling the standard input in C++ is done
by applying the overloaded operator of extraction (>>) on the cin stream. The operator must be
11 | P a g e
followed by the variable that will store the data that is going to be extracted from the stream. For
example:
int age;
cin >> age;
EXAMPLE I CODED
We can use cin to get strings with the extraction operator (>>) as we do with fundamental data
type variables:
cin >> mystring;
** MY CODE DURING IT
FUNCTIONS (I)
12 | P a g e
Using functions we can structure our programs in a more modular way, accessing all the
potential that structured
programming can offer to us in C++.
A function is a group of statements that is executed when it is called from some point of the
program. The
following is its format:
A function is a group of statements that is executed when it is called from some point of the
program. The following is its format: type name ( parameter1, parameter2, ...) { statements }
where: • type is the data type specifier of the data returned by the function. • name is the
identifier by which it will be possible to call the function. • parameters (as many as needed):
Each parameter consists of a data type specifier followed by an identifier, like any regular
variable declaration (for example: int x) and which acts within the function as a regular local
variable. They allow to pass arguments to the function when it is called. The different parameters
are separated by commas. • statements is the function's body. It is a block of statements
surrounded by braces { }.
Here you have the first function example:
MY TASK ON THIS
r=a-b;
return (r);
}
int main ()
{
int x=5, y=3, z;
z = subtraction (7,2);
cout << "The first result is " << z << '\n';
cout << "The second result is " <<
subtraction (7,2) << '\n';
cout << "The third result is " << subtraction
(x,y) << '\n';
z= 4 + subtraction (x,y);
cout << "The fourth result is " << z << '\n';
return 0;
}
In this case I have created a function called subtraction. The only thing that this function does is
to subtract both passed parameters and to return the result. Nevertheless, if we examine function
main we will see that we have made several calls to function subtraction. We have used some
different calling methods so that you see other ways or moments when a function can be called.
FUNCTIONS (II)
Until now, in all the functions I did, the arguments passed to the functions have been passed by
value. This means that when calling a function with parameters, what we have passed to the
function were copies of their values but never the variables themselves. For example, suppose
that we called our first function addition using the following code:
{
int x=1, y=3, z=7;
duplicate (x, y, z);
cout << "x=" << x << ", y=" << y << ", z="
<< z;
return 0;
}
DECLARING FUNCTIONS.
These calls were generally in function main which we have always left at the end of the source
code. If you try to repeat some of the examples of functions described so far, but placing the
function main before any of the other functions that were called from within it, you will most
likely obtain compiling errors. The reason is that to be able to call a function it must have been
declared in some earlier point of the code, like we have done in all our examples. But there is an
alternative way to avoid writing the whole code of a function before it can be used in main or in
some other function. This can be achieved by declaring just a prototype of the function before it
is used, instead of the entire definition. This declaration is shorter than the entire definition, but
significant enough for the compiler to determine its return type and the types of its parameters.
NOTE; Anyway, including a name for each variable makes the prototype more legible.
CHAPTER 3
ARRAYS
16 | P a g e
WELDING TOOLS
The common welding tools used for gas welding purposes are as follows:
17 | P a g e
1. Spanner
Spanners are generally used for tightening or loosening various fasteners. These are designed
with drop-forge steel or carbon steel. But in welding, a double-ended spanner is used for
tightening and opening the nuts of the welding apparatus and job.
2. Hammer
Welding hammers are essential tools used for chipping to remove slab-coating from the weld
area. It is used for shaping the job. Normally a 500 grams hammer is used for the purpose.
There are three types of hammers - ball pane, cross pane, and straight one. For large-sized
jobs, a Sledgehammer may be used.
3. Pliers
Welding pliers are specially designed to effectively remove welding spatter. The multiple
jaws of the plier are used to pull the wire and install the tips and nozzles.
4. Chisel
Normally, chisels are used to cut flat, round, or angled iron and cut sheets of thick metal.
They are also used to remove unnecessary metal from a work surface by cutting it into small
pieces. But in welding, it is used for cutting the jobs and for cleaning the slag, spatter, and
surplus metal from the job after welding.
18 | P a g e
5. Tongs
Tongs are hand tools used by blacksmiths to lift and hold hot weld pieces of metal. They are
usually made of wrought iron or steel and are better than pliers or vice grips. These are
available in different sizes and shapes which are intended to hold the job while welding.
6. Cylinder Key
It is used for opening and tightening the spindle valve of the gas cylinder.
7. Wire Brush
It is used for cleaning the welding surface before and after welding. It consists of steel wires
and is made of stainless steel. Keep in mind that in welding, always use a brush with stainless
steel bristles and a chipping hammer made of stainless steel.
8. Clamps
Welding clamps are sheets of metal that temporarily hold two parts of material tightly
together. Welding clamps permit you to securely hold your work-piece, so the operator will
produce a tighter joint.
P a g e | 12
19 | P a g e
This makes it easy to run the arc and join the pieces together without worrying about moving
sheets. These types of clamps are generally available in varieties of sizes and shapes.
9. Angular Grinder
Angular grinders are commonly seen in metal fabrication and some metal shops. They are
types of handheld power tools attached to consumable stone discs or blades. These discs spin
at high speed to grind, cut or give a smooth finishing touch to weld metal.
13. Files
These are similar to angular grinders, used to remove rough edges and burrs from the metal
you cut. The file tools are available in various shapes and sizes which are used for work
finishing purposes. Metal files are also commonly used for all kinds of other metal projects.
WELDING EQUIPMENTS
1. Gas Cylinder
Welding gas cylinders are made with thick steel sheets as they have to bear high gas
pressure. Manufacturers supply gas-filled cylinders to the users. Generally, oxygen and
P a g e | 14
acetylene gas cylinders are used for gas welding purposes. The two gases are supplied
in separate cylinders.
Oxygen gas can be stored in a cylinder for a long time. The temperature of the
cylinder remains 70° Fahrenheit and the gas pressure is kept at about 2200 pounds
per square inch.
The Oxygen cylinder is colored to black and its valve has right-handed threads.
These two points are useful in the identification of oxygen cylinders.
2. Gas Regulator
For the welding process, the oxygen and acetylene gases reach the welding torch
through gas regulators. There are two main functions of a gas regulator:
(i) To maintain necessary gas pressure during the course of welding.
(ii) To supply the gas to the welding torch at a low pressure. The regulator's body is
generally made of brass metal.
3. Hose Pipe
The hosepipe is the medium through which gas is supplied from the regulator to the
welding torch. Separate hose pipes are used for oxygen and acetylene gases.
These are made of good quality rubber and are fitted with the help of clamps in their
respective regulators and welding torches. Typically, a black or blue pipe is used for
oxygen gas while a red pipe is used for acetylene gas.
4. Welding Goggles
Goggles are used for the protection of eyes against any possible bad effect of the gas
flame. Green or blue glasses are used in the goggles which are capable to protect the eyes
from ultraviolet and infra-red radiation of the high-temperature gas flame.
24 | P a g e
5. Welding Helmet
It is an essential type of welding equipment that is considered the most important piece
of personal protective equipment that a welder should have. This helmet not only
protects the eyes and skin from serious sparks, but also from potentially vision-damaging
ultraviolet and infrared rays released by arcs.
6. Handy Gloves
Welding gloves are tools that protect a welder's hands from the dangers of welding.
Leather or asbestos gloves are used for the protection of hands against any possible burn
during welding.
These gloves allow the operator to be protected from electric shock, extreme heat, and
ultraviolet and infrared radiation, and also provide abrasion resistance and increased grip.
7. Anvil
An anvil is consisting of a strong metal (usually forged or cast steel) with a flattened top
surface upon which another object strikes. An anvil is used for hammering a hot job as
required. It is made of steel so as to have sufficient toughness, see in the figure. The
anvil is used as a forging tool in most cases.
25 | P a g e
8. Cylinder Trolley
A cylinder trolley is very helpful for conveying the two gas cylinders from one place to
another for gas welding purposes.
9. Apron
A leather apron is very useful equipment for protecting a welder's clothing against sparks
and red-hot particles. It is usually tied to the chest portion of the body.
Binding wires are made of galvanized, plastic coated annealed and stainless steel wire. It
is used during welding to aid the joining together of the metal work-piece It is softness,
good ductility and high strength, and is easily bent and tied in a knot. Binding wire
without coating has a diameter of 0.16 mm - 2 mm, and coated diameter from 0.2 mm to
2 mm.
28 | P a g e
CHAPTER 5
WELDING DEFECTS AND REMEDIES
Welding defects are formed in a welding work due to the weak or poor technique used by the
inexperienced or untrained welders or due to structural problems in the welding operation.
Or you can say, in a welding process, the size and shape of the metal structure are varied. It is
maybe due to the incorrect welding process or the application of the incorrect welding procedure.
An ideal weld or good weld must be one that exists with good penetration with sufficient fusion
between the filler metal and the edge preparation.
Types of Welding Defects
Following are the types of welding defects:
1. Porosity and Blowholes
2. Undercut
3. Weld crack
4. Incomplete fusion
5. Slag inclusion
6. Incomplete penetration
7. Spatter
8. Distortion
9. Hot Tear
2. Undercut
Undercut in welding makes imperfection, it is the formation of grooves in the weld toe,
which decreases the cross-sectional thickness of the base metal. As a result of this weld and
work-piece get weakened.
3. Weld Crack
These are the most dangerous types of welding defects. It is almost not allowed by all
standards in the production. It can appear on the surface, in the weld metal, or in an area
affected by strong heat.
There are different types of cracks that occur during welding, it depends on the temperature.
1. Hot Cracks
Hot cracks happen while the welding process or during the crystallization process of the weld
joint. Temperatures at this point can exceed 10,000C.
2. Cold Cracks
These cracks occur after the weld is created and the metal temperature has passed down.
They can also be made hours or days after welding steel. This mostly occurs when the
deformation is made in the steel structure.
3. Crater Cracks
These cracks occur at the end of the welding process before the operator completes the weld
joint. They are usually made near the end of the process.
When the weld pool cools and freezes, the weld must be sufficient in volume to overcome
the metal shrinkage. Otherwise, it will make a crater crack.
4. Incomplete Fusion
These types of welding defects occur when there is a shortage of suitable fusion between the
metal and weld. It may also be visible between adjacent weld beads. This produces a gap
inside the joint that is not filled with molten metal.
5. Slag Inclusion
Slag inclusion is welding defects that are usually visible in welds. The slag is a dangerous
substance that appears as a product of stick welding, flux-core arc welding, and submerged
arc welding.
It is can occur when the flux, which is a solid shielding material applied when welding, melts
in the weld or on the surface of the weld region. Slag inclusion decreases the strength of the
joint and hence makes it weaker.
32 | P a g e
6. Incomplete Penetration
In these types of welding defects, penetration is defined as the distance from the uppermost
surface of the base plate to the maximum extent of the weld nugget.
Incomplete penetration happens when the metal groove is not entirely filled, which means
that the weld metal does not fully spread through the joint thickness.
2. The bead is being moved too fast, Decreasing the arc travel speed.
which does not allow sufficient
metal to accumulate in the joint.
3. Using a very low ampere setting, Selecting a decent welding current.
which results in the current not
being strong enough to melt the
metal properly.
4. Using improper joints. Improving the design of the joint.
5. Wrong position of the electrode. Make sure the position of electrode is very
accurate.
6. Using of larger diameter electrode. You must need to use proper of diameter
electrode as suitable for your welding.
7. Spatter
Spatters are tiny metal particles that are ejected from the arc during welding and accumulate on
the base metal throughout the weld bead along its length. This is particularly common happens in
gas-metal arc welding.
8. Distortion
Distortion is the difference in size and location between the positions of the two metal plates
before and after welding due to the temperature grade present at several points along the weld
joints.
34 | P a g e
Or in other words, you can say that the distortion is due to uneven extension and reduction of the
weld metal and that all kinds of distortion rise with the number of metal deposition.
9. Hot Tear
In these types of welding defects, the deposited metal starts to develop crack from the nearby
edge so that it will solidify the crack increase.
Due to the tearing of grain boundaries of the weld metal before it freezes and the metal is still in
plastic condition. Therefore, it is also known as solidification cracking.
CHAPTER 6
FABRICATION OF A RECTANGULAR FRAME BURGLARY
To fabricate a window burglary, the materials, tools and equipment needed are:
1. Steel pipe of dimension 25mm x 25mm
2. Electrode
3. Binding wire
4. Scriber
5. Arc welding machine
6. Grinder (to be use with cutting disc to cut the work-piece or grinding disc to grind the
work-piece)
7. Body filler
8. Paint
9. Steel tape
10. Try square
Procedures for the fabrication of a rectangular frame burglary:
1. The required sizes of the work-piece were measured from the materials with the steel tape
and marked out using a scriber.
2. The marked pieces were cut with a grinder with cutting disc fixed to it.
3. The marked pieces were tacked according to the design to hold the pieces together
temporary. (N.B: Tacking is the temporary welding of work-piece to allow for any
necessary correction and to hold the pieces together).
4. The work-piece was then welded permanently.
5. The wok-piece was then grinded at the welded point to give smooth surface using a
grinder with a grinding disc attached to it.
6. The body filler was use to fill any holes made on the work-piece to ensure smooth
finishing.
7. The work-piece was then painted and dried off in the sun
8. The burglary is ready for installation.
BURGLARY DESIGN
37 | P a g e
CONCLUSION
The Students’ Work Experience Program (SWEP) at the welding workshop was really a whole
new experience for me as I learnt a whole lot of new things: interpersonal relation skills,
customer management, tools handling skills, also practical understanding of what we were taught
in the classroom.
I garnered Experiences in the welding and fabrication aspect. The program has been highly
enlightening and beneficial. The objective of which the scheme was undergone was however
achieved.
RECOMMENDATION
The whole experience exceeds my expectations so I have little or nothing to recommend. I would
recommend that more students be posted to the welding workshop at the Technical Support Unit,
Faculty of Technology, University of Ibadan, Ibadan.
41 | P a g e
REFERENCES