COMP1551
Application Development
Lecture 1: Introduction
Konstantin Kapinchev
University of Greenwich
Application Development
Lecture 1: Introduction
In this lecture:
• Welcome to the Module • Types of Applications
• Structure and Content of the Module • The Programming Language
• Assessment • Syntax of the Language
• The Application Development Process • The IDE
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Welcome to the Module
• Welcome to the Application Development module
• This module is focused on the design and the development of object-
oriented, data-driven and interactive applications
• The module is practically oriented, emphasising the utilisation of
programming languages and tools, which are widely used in the industry
• Those include Visual Studio, C#, UML and SQL
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Structure and Content of the Module
• Timetabled Teaching:
• Lectures, 2-hour weekly
• Laboratory Sessions, 1-hour weekly
• Independent Learning
• Assessment: a practically oriented coursework
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Structure and Content of the Module continued
• Lecture Topics
• Introduction • Designing Object-Oriented Applications
• The C# Programming Language • Graphical User Interface
• Object-Oriented Applications • File Input and Output
• Principles of Object-Oriented Programming • Database Management Systems
• Object-Oriented Techniques in Practice • Structured Query Language
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Assessment
• Coursework demonstrates the application development process
• C# is the programming language of choice
• The laboratory sessions will focus on coursework related tasks
• Coursework contributes at 100% of the grade
• Coursework deadline is 2 April 2024
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
The Application Development Process
• It is a step-by-step process, can be organised into stages
• Work on each stage is usually done by a dedicated team1
• Two types of overlapping might occur2
• The same team working on different stages
• Simultaneous work on different stages
1Especially for the development of larger projects
2This might affect negatively the development process
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
The Application Development Process continued
Software
• Stages Requirements Design2 Implementation3
Specification1
Maintenance7 Deployment6 Integration5 Verification4
1Can include functional and non-functional requirements
2A popular tool to design object-oriented applications is UML
3Utilises programming languages, such as C#, SQL and others (work on the codebase)
4Involves unit testing, integration testing and system testing
5In case of larger projects with multiple components
6Installs the software product on the target hardware and software (OS) platforms
7Usually involves updates fixing existing bugs or improving performance, security and others
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Types of Applications
• Examples of some of the more notable applications, classified by their
computing platforms:
• Desktop Applications (CLI1, GUI2)
• Web Applications
• Mobile Apps
• Cloud Computing Applications
• And others ...
1Command Line Interface, also called Console Applications
2Graphical User Interface
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
The Programming Language
• For this module, the language of choice is C# C#
• The language is developed by Microsoft in 2000
• It is designed as1:
• Imperative
• Structured
• Object-oriented
1As a multi-paradigm language, C# includes other paradigms as well Konstantin Kapinchev
Application Development
Lecture 1: Introduction
The Programming Language continued Note:
• For this module, the language of choice is C# Programming Paradigm
Most programming
• The language is developed by Microsoft in 2000 languages have one or more
main approaches to solving
problems. These main
• It is designed as1: approaches underpin the
programs written in those
• Imperative languages.
• Structured
• Object-oriented
1As a multi-paradigm language, C# includes other paradigms as well Konstantin Kapinchev
Application Development
Lecture 1: Introduction
The Programming Language continued
• The "Hello World" Program C#
• Purpose:
• To test the translator1
• To test the output of the environment2
• To introduce a new programming language to learners
• To illustrate basic functionality
1Compileror interpreter
2For example an IDE such as Visual Studio
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
The Programming Language continued
• The "Hello World" Program C#
namespace MyNameSpace
{
class HelloWorld
{
static void Main(string[ ] args)
{
System.Console.WriteLine("Hello World");
}
}
}
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Syntax of the Language
• The syntax of a programming language defines the rules, which are
followed by the language
• The syntax determines the correct use of:
• Symbols (tokens, lexemes)
• Structures (operators, statements)
• Context (scope)
• Data types
• And others ...
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Syntax of the Language continued { and } define
the start and the
end of a block
• The "Hello World" Program Entry point of
Namespace of the the program
Class HelloWorld
namespace MyNameSpace
{
class HelloWorld
{
static void Main(string[ ] args)
{
System.Console.WriteLine("Hello World");
} The text "Hello World" will
} be displayed on the screen
} Namespace (System),
Class (Console),
Method (WriteLine)
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Syntax of the Language continued
• Namespace
• A logically separated section of the source code, classes with
similar functionalities usually share the same namespace
• Block
• Groups a number of statements into a single entity, the start of a
block is defined with "{", the end of a block is defined with "}"
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Syntax of the Language continued
• Entry Point
• The first method, which is called when a program starts
• In C# it is called "Main"
• The following is the signature of the Main method
static void Main(string[ ] args)
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Syntax of the Language continued
• Entry Point
static void Main(string[ ] args)
The parameters
of the method
The type of the
parameter, in this case
array of strings (texts)
The name of
the method
The return type of the method,
in this case the method does
not return any value
Static methods does not
require instantiation Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Syntax of the Language continued
• Entry Point
• Method Main will be called
first
• Method PrintHello will be
called second
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Syntax of the Language continued
• Methods
• A method is a collection of statements
• The statements are organised as a single block
• Those statements will run only when the method is called
• A method can be called multiple times
• Methods can have input and output
• Correspond to functions in Mathematics: y = f(x)
• A general term for method is a subroutine1
Konstantin Kapinchev
1Subroutines are called functions in C/C++ and Python
Application Development
Lecture 1: Introduction
Syntax of the Language continued
using System;
namespace MyNameSpace
• Methods {
class HelloWorld
{
• Example: Square root function static double SquareRoot(double r)
{
return(Math.Sqrt(r));
}
static void Main(string[] args)
{
System.Console.WriteLine("Hello World");
System.Console.WriteLine(SquareRoot(49));
}
}
} Konstantin Kapinchev
Application Development
Lecture 1: Introduction
The IDE
• The Integrated Development Environment (IED) is a key tool of the
application development process
• IDE provides extensive functionality, including:
• Source code editor1
• Translator2
• Debugger
• Solution/Project Explorer
• And others
1Including syntax highlighting
2Compiler, interpreter or both Konstantin Kapinchev
Application Development
Lecture 1: Introduction
The IDE continued
• Microsoft Visual Studio is the IDE of choice for this module
• Introduced by Microsoft in 1997
• Supports a number of languages, including:
• C++
• C#
• Visual Basic
Konstantin Kapinchev
Application Development
Lecture 1: Introduction
Thank you for your attention.
Any questions?
Konstantin Kapinchev