Sen-102 Note 1
Sen-102 Note 1
1. Introduction to Programming
Programming is the process of writing instructions that a computer can understand and
execute. These instructions are written using programming languages. Programming enables us
to create software applications, websites, mobile apps, games, operating systems, and much
more.
In software engineering, programming is one of the most essential skills. It allows us to convert
ideas and solutions into functioning systems that solve real-world problems.
2. Concept of Programming
Programming is not just about writing code—it involves logical thinking, problem-solving, and a
clear understanding of how computers process information.
Key Concepts:
- Syntax: The set of rules that define the combinations of symbols that are considered to be
correctly structured programs.
- Source Code: The actual code written in a programming language by the programmer.
- Debugging: The process of identifying and fixing errors or bugs in the code.
- Control Structures: Logical constructs like loops (for, while) and conditionals (if-else) that
control the flow of the program.
Programming Workflow:
1. Understand the problem.
1. Low-Level Languages
Examples:
2. High-Level Languages
- Often domain-specific.
Examples:
- SQL (Databases)
- MATLAB (Mathematics)
- Scratch (Educational)
1. Procedural Programming
Examples: C, Pascal
3. Functional Programming
- Focuses on functions and avoids changing-state and mutable data.
4. Logic Programming
Examples: Prolog
5. Scripting Languages
As a software engineering student, understanding these tools is essential for writing efficient
programs and managing development workflows.
2. Compiler
🔹 Definition:
A compiler is a program that translates the entire source code of a programming language into
machine code (binary/executable code) before the program is run.
🔹 How it Works:
4. The executable file can be run without needing the compiler again.
🔹 Key Features:
🔹 Advantages:
- Faster program execution.
🔹 Disadvantages:
3. Interpreter
🔹 Definition:
🔹 How it Works:
🔹 Key Features:
🔹 Advantages:
- Easier for beginners.
- Immediate feedback.
🔹 Disadvantages:
- Slower execution.
🔹 Definition:
🔹 Popular IDEs:
IDE Supported Languages
Visual Studio Code Python, JavaScript, C++, etc.
IntelliJ IDEA Java, Kotlin
Eclipse Java, C++, PHP
PyCharm Python
NetBeans Java, C, C++
Xcode Swift, Objective -C
- Integrated debugger.
🔹 Disadvantages:
6. Conclusion
Compilers, interpreters, and IDEs are essential tools for any programmer. As software
engineering students, we must understand how these tools work and when to use them.
Compilers and interpreters convert our code into something the machine can understand, while
IDEs provide a user-friendly environment to write, test, and debug that code efficiently.
Learning to use these tools effectively can significantly boost our productivity and improve the
quality of the software we develop.