Coventry University Logo
4061CEM - Programming and Algorithms 1

Introducing…

Integrated Development Environments

Dr Ian Cornelius

Hello

  • Learning Outcomes:
    1. Understanding what an IDE is and its purpose
    2. The ability to use the IDE of choice for this module

Introduction to Integrated Development Environments

  • Integrated Development Environments (IDE) is an application that provides tools for software development
  • IDEs generally compromise of:
    • a code editor
    • compiler, interpreter and linker
    • debuggers and graphical user-interface builders

Code Editor

  • A text editor program that is designed specifically for editing the source-code of an application
  • Can be a stand-alone application, or built into an integrated development environment

Compiler, Interpreter and Linker (1)

Compiler

  • A tool to transform source-code written in a programming language into object code of the target language
  • Simply, converts a program from a human-readable format into a machine-readable format

Compiler, Interpreter and Linker (2)

Interpreter

  • A tool that executes instructions that are written in a programming language
  • Translates high-level instructions into an intermediate form

Compiler, Interpreter and Linker (3)

Linker

  • A tool that takes one or more files generated by the compiler and combines them into a single executable file
  • Provide links to the libraries needed for the executable program

Why use an IDE? (1)

Debugging

  • Instead of using print() to debug, use the internal debugger tool
  • Enables analysis of source-code line-by-line
    • whilst monitoring and altering variables
    • can watch the output as it is generated
  • Removes the tedious-ness of placing multiple print statements

Code Refactoring and Profiling

  • Provides the ability to auto-complete code based upon code-intel
  • Code refactoring enables you to make global changes, instead of doing it manually
  • Code profiling enables you to analyse the code performance on a function-by-function basis
    • i.e. detecting bottlenecks, code completion time

Why use an IDE? (2)

Unit Testing

  • Automatic test class generation from the source-code
  • Code coverage which enables you to analyse the code
    • understand which areas are to be covered by tests and which need more testing
  • More information for creating tests

Version Control Integration

  • No requirement to know the commands for each version control system
    • IDE will have tools to commit and push changes to Git
  • Enables you to easily keep your project up to date for team members

The 4061CEM IDE

  • Supported IDE: JetBrains IntelliJ IDEA Community/Ultimate
  • Features:
    • Debugging
    • Code Refactoring and Profiling
    • Version Control Integration
    • Python, Java, Kotlin, PHP etc.
  • Note, you are still expected to learn how to do things via the terminal/command-line

IDE Plugins

Python

  • Programming language of choice for this course

CodeWithMe

  • Enables collaboration between team members
  • Sharing code screens to code collaboratively at the same time

IDE Installation

IDE Demonstration

  • Demonstration of the IDE
    • Refer to the pre-recorded video for a demonstration

Goodbye

  • Questions?
    • Post them in the Community Page on Aula
  • Contact Details: