0% found this document useful (0 votes)
32 views25 pages

Lecture 1

The lecture introduces the Application Development module, focusing on designing and developing object-oriented, data-driven applications using C#, UML, and SQL. It outlines the module's structure, assessment methods, and the application development process, emphasizing practical coursework. Key topics include programming language syntax, the Integrated Development Environment (IDE), and types of applications.

Uploaded by

tmibui2000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views25 pages

Lecture 1

The lecture introduces the Application Development module, focusing on designing and developing object-oriented, data-driven applications using C#, UML, and SQL. It outlines the module's structure, assessment methods, and the application development process, emphasizing practical coursework. Key topics include programming language syntax, the Integrated Development Environment (IDE), and types of applications.

Uploaded by

tmibui2000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

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

You might also like