Introduction to Programming

Using C++

November 01, 2010
Salahaddin University-Erbil
Electrical Engineering Dept.
BSc
2010-2012
4 mins read

General Information

  • University: Salahaddin University-Erbil
  • Department: Electrical Engineering Dept.
  • My Status: Assistant Lecturer
  • Level: BSc
  • Year: 2010-2012

Course Description

This course provides a comprehensive introduction to programming fundamentals using C++ as the primary language. Designed specifically for electrical engineering students, the course emphasizes the importance of programming skills in solving real-world engineering problems, particularly in real-time systems and embedded applications.

The curriculum covers essential programming concepts including algorithms, data structures, control flow, functions, and object-oriented programming principles. Students will learn to design, implement, and debug C++ programs while understanding the theoretical foundations that underlie programming languages and software development.

Through hands-on projects and practical exercises, students will develop the programming skills necessary for electrical engineering applications, including microcontroller programming, signal processing, and system control.

Prerequisites

  • Basic computer literacy
  • High school mathematics (algebra and trigonometry)
  • Logical thinking and problem-solving skills
  • No prior programming experience required

Course Objectives

Upon completion of this course, students will be able to:

  • Understand fundamental programming concepts and problem-solving techniques.
  • Design and implement algorithms using flowcharts and pseudocode.
  • Write, compile, and debug C++ programs for engineering applications.
  • Apply programming concepts to solve electrical engineering problems.
  • Understand the role of programming in real-time and embedded systems.
  • Develop logical thinking and analytical problem-solving skills.
  • Work with arrays, functions, and basic data structures in C++.

Course Outline

Module 1: Introduction to Programming and C++

  • Programming fundamentals and problem-solving
  • History and evolution of programming languages
  • C++ language overview and features
  • Development environment setup
  • First C++ program and basic syntax

Module 2: Problem Solving and Algorithm Design

  • Problem-solving methodology
  • Algorithm design principles
  • Flowchart creation and interpretation
  • Pseudocode development
  • Algorithm analysis and efficiency

Module 3: Basic Programming Elements

  • Variables and data types in C++
  • Constants and literals
  • Input/output operations
  • Basic arithmetic operations
  • Type conversion and casting

Module 4: Control Flow and Decision Making

  • Conditional statements (if, if-else, switch)
  • Logical operators and boolean expressions
  • Relational operators and comparisons
  • Nested conditional statements
  • Error handling and input validation

Module 5: Loops and Iteration

  • While loops and do-while loops
  • For loops and loop control
  • Nested loops and loop optimization
  • Break and continue statements
  • Loop applications in engineering problems

Module 6: Functions and Modular Programming

  • Function definition and declaration
  • Parameters and return values
  • Function overloading
  • Scope and lifetime of variables
  • Modular program design principles

Module 7: Arrays and Data Structures

  • One-dimensional arrays
  • Array manipulation and searching
  • Two-dimensional arrays
  • Character arrays and strings
  • Array applications in engineering

Module 8: Pointers and Memory Management

  • Pointer fundamentals and declaration
  • Pointer arithmetic and array relationships
  • Dynamic memory allocation
  • Memory management best practices
  • Common pointer pitfalls and debugging

Module 9: Object-Oriented Programming Basics

  • Classes and objects in C++
  • Encapsulation and data hiding
  • Constructors and destructors
  • Member functions and access control
  • Simple class design and implementation

Module 10: File Handling and I/O

  • File input/output operations
  • Text file processing
  • Binary file operations
  • Error handling in file operations
  • File applications in engineering

Module 11: Engineering Applications

  • Mathematical computations and algorithms
  • Signal processing basics
  • Control system programming
  • Data acquisition and processing
  • Real-time programming concepts

Module 12: Advanced Topics and Best Practices

  • Code organization and documentation
  • Debugging techniques and tools
  • Performance optimization
  • Programming standards and conventions
  • Introduction to embedded programming

Textbooks

  • [Recommended] “C++ Programming: From Problem Analysis to Program Design” by D.S. Malik
  • [Optional] “Programming: Principles and Practice Using C++” by Bjarne Stroustrup
  • [Course Materials] C++ Lessons PDF

Assessment

  • Midterm Exam (20%)
  • Activities and Projects (30%)
    • Programming Assignments (15%)
    • Algorithm Design Projects (10%)
    • Engineering Application Projects (5%)
  • Final Exam (50%)