Heritage Institute of Technology
CSE, 3rd Semester , 2025
Software Tools Lab
CSE2153
Pratyusa Dash
CSE2153 – Software Tools, 3rd Sem, 2025 1
Course Outcomes
• After completion of the course, students will be able to
• CSE2153.1: Learn the concept and use of an integrated
development environment.
• CSE2153.2: Identify different compilation options in gcc and
develop static and shared libraries.
• CSE2153.3: Analyze the errors in a code using gdb and
valgrind.
• CSE2153.4 Analyse a code with code coverage testing and
know how to speed up execution using profiling tools.
• CSE2153.5: Compose a makefile and use the make utility to
automate compilations.
• CSE2153.6: Understand the need for version control and
learn effective methods to do the same.
CSE2153 – Software Tools, 3rd Sem, 2025 2
What are Software Tools?
• What are Software Tools?
– A software tool or more specifically a software
development tool is a computer
program that software developers use to create,
debug, maintain, or otherwise support their
projects and applications.
• Why do we need them?
– Help us code more efficiently
– Stay ahead of others when we join the industry
CSE2153 – Software Tools, 3rd Sem, 2025 3
What are the software tools that we
will be learning?
• CodeBlocks IDE
• Compiling with gcc and debugging using gdb
• Create Makefiles for projects
• Code coverage testing with gcov
• Runtime profiling with gprof
• Control versions of the softwares using Git and
share files using it.
• Memory profiling with valgrind
• Static and Dynamic Libraries
CSE2153 – Software Tools, 3rd Sem, 2025 4
Integrated Development Environment (IDE)
• What is an IDE? Why do we need it?
– Helps writing Codes
• Usually a text editor with some extra bits added on to help you write code
more easily.
• Many highlight simple syntax errors on the fly
• They also often have an “autocomplete” feature, so that you don’t need
to remember whether the square root function is sqrt() or squareroot().
– In build automator
• compiles the code,
• builds an executable program by adding in any necessary libraries, some
of which you may not even be aware of.
• Those same tools make it easier to organize and include any optional
libraries, or ones you’ve created yourself.
– Debugger
• Depending on the IDE, it’s a suite of tools that will find errors in your code
before it compiles, and then (hopefully) point them out to you so that you
can fix them easily.
CSE2153 – Software Tools, 3rd Sem, 2025 5
Integrated Development Environment
(IDE)
• The Case Against IDEs
– Cost Factor
– Programmers who work in scripting languages, or
languages that evolved from scripting languages,
are more likely to regard an IDE as optional.
• Our advice:
– When you’re learning to program, the tool should
be a help, not a roadblock.
CSE2153 – Software Tools, 3rd Sem, 2025 6
Familiarization with
CODEBLOCKS
CSE2153 – Software Tools, 3rd Sem, 2025 7
First Project
• Code::Blocks creates what
is called a Workspace to
keep track of the project.
• A project is a collection of
one or more source (as
well as header) files.
• Source files
• Header files
• A library is a collection of
functions that are called
to perform specific tasks,
such as doing math, etc
CSE2153 – Software Tools, 3rd Sem, 2025 8
next..
CSE2153 – Software Tools, 3rd Sem, 2025 9
next..
• It then asks about the Project
name and where it has to be
saved.
• On clicking next, Compiler details
is asked. GNU GCC compiler is
selected and CREATE DEBUG
CONFIGURATION is ticked.
• This creates a project with a
main.cpp file which has the basic
program “Hello world” already
typed into it.
CSE2153 – Software Tools, 3rd Sem, 2025 10
next..
CSE2153 – Software Tools, 3rd Sem, 2025 11
next..
• Once the program has been written, the
project is built by clicking
• BUILD BUILD AND RUN. A black terminal
open where the input and output is provided.
Building a project compiles all necessary files
in that project and shows and error if any.
CSE2153 – Software Tools, 3rd Sem, 2025 12
How to execute?
Compile or Build?
CSE2153 – Software Tools, 3rd Sem, 2025 13
Multi – File Projects
• Other than the few-line of programs, you shall
create a project for each of your application.
• A project contains related files such as source
codes, header files, and relevant resources.
• To insert a new file in the existing project click
FILE NEW FILE.
• A console opens where c/c++ source is selected.
Then C programming language is selected and
finally file name is asked. On entering file name
debug configuration is selected and a new file is
created.
CSE2153 – Software Tools, 3rd Sem, 2025 14
Next..
CSE2153 – Software Tools, 3rd Sem, 2025 15
Adding files
• To add files which have
been sent by someone
else, to a project, click
PROJECT ADD FILES.
A console opens and
the files to be added
are selected.
CSE2153 – Software Tools, 3rd Sem, 2025 16
Adding more files cont..
When the file to be added is being created within Code::Blocks
CSE2153 – Software Tools, 3rd Sem, 2025 17
Adding more files cont..
Adding an already existing file created outside Code::Blocks
CSE2153 – Software Tools, 3rd Sem, 2025 18
Assignment Day1
1. Create a new project called “Calculator” and write separate functions for
addition, subtraction, multiplication, division.
a. Create different files for the functions.
2. Create a new project called “Factorial” to calculate factorial of a number.
write separate functions for factorial function.
3. Create a new project called “SumOfFactorial”.
a. Take a number n as input and
b. Compute the following series:
1!+2!+…+n!
Re-use the addition and factorial functions that you had written for the project
“Calculator” and Factorial
CSE2153 – Software Tools, 3rd Sem, 2025 19
Thank you
CSE2153 – Software Tools, 3rd Sem, 2025 20