Project Areas
Web based systems
Websites
Android based systems (Web based Dash-board)
Real time based systems (using Arduino, atmega 32,64 or 16 for simulations )
1 Prepared By Haftom B. 02/07/2024
Department of computer science
Event Driven Programming
Prepared By Haftom B. (M.Sc..)
2 2 Prepared By Haftom B. 02/07/2024
Course contents
Chapter 3: Object-Oriented Fundamentals in VB.NET
Chapter One Introduction
Language Fundamentals
Introduction to Software Development Variables and Data Types
Control Flow
Software Development Approaches Methods and Their Types
Events
Rapid Application Development
Classes and Objects
Software Development Principles Inheritance and Overloading Implementation
Classes versus Components
Chapter 2: Introduction to .NET
Chapter 4: Exception Handling
The .NET Platform and Its Architecture
Base Class Library Introducing Exception Handling
Common Language Runtime
Structured Exception Handling
Uses of .NET Platform in Application Development Implementing Exception Handling
Introduction to Microsoft Visual Studio 2010
SDI and MDI Forms
Controls
3 Prepared By Haftom B. 02/07/2024
Cont..
Chapter 6: Database Programming
Chapter 5: Manipulating Files How to open a Text
The ADO.NET Architecture
File
LINQ Architecture
Read a file line by line in VB .NET
The .NET Data providers
Write to a Text File
Working with the common .NET Data providers
The Dataset Component
How to Copy, Move and Delete a File
Using the DataGrid View for database access
4 Prepared By Haftom B. 02/07/2024
Assessment Methods
Mid Semester Examination 30%
Project and presentation 20%
Final Examination 50%
5 Prepared By Haftom B. 02/07/2024
Reference
Text books and References:
1. An introduction to programming using visual basic 6.0, fourth edition, David I.
Schneider Evjen, B et al, (2008). Professional Visual Basic 2008.
2. Crosspoint Boulevard: Wiley Publishing Inc. Gary Cornell and Jonathan Morrison
(2002).
3. Programming VB.NET: A Guide for Experienced Programmers. USA: APress
Cameron Wakefield, Henk-Evert Sonder and Wei Meng Lee. VB.NET Developers
Guide. USA: Syngress Publishing, Inc
6 Prepared By Haftom B. 02/07/2024
Chapter One
Introduction
7 Prepared By Haftom B. 02/07/2024
Chapter Content
Introduction
Introduction to Software Development
Software Development Approaches
Rapid Application Development
Software Development Principles
8 Prepared By Haftom B. 02/07/2024
1.1 Event Driven Programming
Event-driven programming focuses on events
Event-driven programming is a paradigm where entities
(objects, services, and so on) communicate indirectly by
sending messages to one another through an intermediary.
Event:
A signal to the program that something has happened.
9 Prepared By Haftom B. 02/07/2024
Cont..
It can be triggered either by external user actions, such as
mouse movements
button clicks, and keystrokes,
by the operating system, such as a timer.
The program can choose to respond to or ignore an event.
10 Prepared By Haftom B. 02/07/2024
1.2 Introduction to Software Development
What is software development?
Software development is the process of
conceiving, specifying, designing, programming, documenting,
testing, and bug fixing involved in creating and maintaining
applications, frameworks, or other software components.
11 Prepared By Haftom B. 02/07/2024
Cont..
Software development is a process that a programmers use to build
computer programs.
The process, also known as the
Software Development Life Cycle (SDLC),
includes several phases that provide a method for building products that
meet technical specifications and user requirements.
12 Prepared By Haftom B. 02/07/2024
1.2.1 Software Development Process
The process vary in the detail of what activities they prescribe,
their related artefacts.(b/c there are many approaches)
However the most common process is
Analysis
Design
Implementation
Testing
Deployment
13 Prepared By Haftom B. 02/07/2024
1.3 Software Development Approaches
the most commonly used software development approaches are
• Waterfall Approach
• Spiral Approach
• RAD
• Agile
• Incremental
• Etc…
14 Prepared By Haftom B. 02/07/2024
•Waterfall Approach
• The stages of a project
were carried
out sequentially.
• The entirety of each
stage had to be
completed, formally
documented, discussed,
agreed, and signed off
before the next stage
could begin.
• This has been described
as the waterfall
lifecycle.
15 Prepared By Haftom B. 02/07/2024
•Spiral Approach
• is a development method that
uses the same steps as the
waterfall method, but also
uses project cycles, each
culminating in a version of the
software (a prototype) that is
formally reviewed to inform the
next cycle.
Determine objectives
Identify and resolve risks
Develop and test
Plan (the next iteration)
16 Prepared By Haftom B. 02/07/2024
Reading Assignment
Incremental approach
Agile Approach
Extreme programming
DevOps Methodology
Joint Application Development Methodology
17 Prepared By Haftom B. 02/07/2024
1.4 Rapid application development
is a development model prioritizes rapid prototyping and quick feedback
over long drawn out development and testing cycles.
With rapid application development, developers can make multiple
iterations and updates to a software rapidly without needing to start a
development schedule from scratch each time.
18 Prepared By Haftom B. 02/07/2024
Steps in RAD
Although RAD has changed over the years, these four basic
steps provide some continuity over the years.
1. Define the requirements
2. Prototype -> the actual development takes place.
Instead of following a strict set of requirements
3. Receive Feedback
Feedback on what’s good, what’s not, what works, and
what doesn’t
4. Finalize Software
19 Prepared By Haftom B. 02/07/2024
20 Prepared By Haftom B. 02/07/2024
Cont..
Advantages of the RAD model
helps to reduce the risk and required efforts on the part of the software
developer.
helps the clients to take quick reviews for the project.
Encourages customer feedback which always provides improvement
scope for any software development project.
Each phase in RAD delivers the highest priority functionality to the
21
client. Prepared By Haftom B. 02/07/2024
Cont..
Disadvantages RAD model
Depends on the strong team and individual performances for clearly identifying the
exact requirement of the business.
This approach demands highly skilled developers and a designer’s team which may not
be possible for every organization.
This is not applicable for the developer to use in small budget projects as the cost of
modeling and automated code generation is very high.
Progress and problems accustomed are hard to track as such there is no documentation
to demonstrate what has been done.
22 Prepared By Haftom B. 02/07/2024
Chapter Two
Introduction to .NET
24 Prepared By Haftom B. 02/07/2024
Chapter Content
Chapter 2: Introduction to .NET
The .NET Platform and Its Architecture
Common Language Runtime
Base Class Library
Uses of .NET Platform in Application Development
Introduction to Microsoft Visual Studio 2010
25 Prepared By Haftom B. 02/07/2024
What is .NET Framework?
.Net Framework is a software development platform developed by Microsoft for building
and running Windows applications.
The .Net framework consists of developer tools, programming languages, and libraries
to build desktop and web applications.
It is also used to build websites, web services, and games.
The .Net framework was meant to create applications, which would run on the Windows
Platform.
The first version of the .Net framework was released in the year 2002.
The version was called .Net framework 1.0.
26 Prepared By Haftom B. 02/07/2024
Cont.…
.NET Framework Architecture is a programming model for the .Net platform
that provides an execution environment and integration
Has various programming languages for simple development and deployment
of various Windows and desktop applications.
It consists of class libraries and reusable components.
27 Prepared By Haftom B. 02/07/2024
.NET Components
Common Language Runtime
CLR is the execution engine that handles running applications.
It provides services like thread management, garbage collection, type-
safety, exception handling, and more.
also knows as the runtime.
CLR’s responsibility is to mange any code written in .NET languages
such as C#, VB.NET, or F#.
28 Prepared By Haftom B. 02/07/2024
Base Class Library(BCL)
The Class Library provides a set of APIs and types for common functionality.
It provides types for strings, dates, numbers, etc.
The Class Library includes APIs for reading and writing files, connecting to
databases, drawing, and more.
The .NET Framework includes a set of standard class libraries.
A class library is a collection of methods and functions that can be used for the
core purpose.
29 Prepared By Haftom B. 02/07/2024
Characteristics of .NET Frame work
30 Prepared By Haftom B. 02/07/2024
Uses of .NET Platform in Application Development
Can be used to develop
Windows applications (windows forms)
Web (Asp.net)
Mobile applications that run .NET
Ado.net For Data base connectivity
31 Prepared By Haftom B. 02/07/2024
.NET Programming languages?
Supports he following Languages
Visual Basic
C#
F#
Visual C++
Etc.…
32 Prepared By Haftom B. 02/07/2024
1.5 Visual Basic programming language
VB.NET is also known as Visual Basic.NET.
It stands for Visual Basic .Network Enabled Technologies.
VB.NET is a simple, multi-paradigm object-oriented
programming language designed to create a wide range of
Windows,
Web,
Mobile applications built on the .NET Framework.
developed by Microsoft in 2002.
33 Prepared By Haftom B. 02/07/2024
VB.NET Features
• It is an object-oriented programming language
• This language is used to design user interfaces for window, mobile, and web-
based applications.
• It supports a rapid application development tool kit.
• It is not a case sensitive language like other languages such as C++, java, etc.
• It provides simple events management in .NET application.
• A Window Form enables us to inherit all existing functionality of form that can
be used to create a new form. So, in this way, it reduced the code complexity.
34 Prepared By Haftom B. 02/07/2024
Advantages of VB.NET
• Your code will be formatted automatically.
• You will use object-oriented constructs to create an
enterprise-class code.
• You can create web applications with modern features
like performance counters, event logs, and file system.
• You can connect your applications to other applications
created in languages that run on the .NET framework.
• You will enjoy features like docking, automatic control
anchoring, and in-place menu editor all good for
developing web applications.
35 Prepared By Haftom B. 02/07/2024
Disadvantages of VB.NET
• VB.NET cannot handle pointers directly.
• This is a significant disadvantage since pointers are much
necessary for programming.
• Any additional coding will lead to many CPU cycles, requiring
more processing time.
• Your application will become slow.
36 Prepared By Haftom B. 02/07/2024
Summary:
• VB.NET was developed by Microsoft.
• It is an object-oriented language.
• The language is not case sensitive.
• VB.NET programs run on the .NET framework.
• In VB.NET, the garbage collection process has been automated.
• The language provides windows forms from which you can inherit your own
forms.
• VB.NET allows you to enjoy the drag and drop feature when creating a user
interface.
37 Prepared By Haftom B. 02/07/2024
Introduction to Microsoft Visual Studio 2010
38 Prepared By Haftom B. 02/07/2024
39
Pr og r a m in g L anguage
Select Your
Select
you p
ro gram
type
Prepared By Haftom B.
02/07/2024
Your P
ro ject na
me
Solution explorer
Windows Form
Tool box
• button
• Textbox etc
Properties
Data source DB
40 Prepared By Haftom B. 02/07/2024
To be continued in Lab…
41 Prepared By Haftom B. 02/07/2024
Chapter 3:
Object-Oriented Fundamentals in VB.NET
42 Prepared By Haftom B. 02/07/2024
Contents
1. Language Fundamentals
Variables and Data Types
Control Flow
Methods and Their Types
Events
2. Classes and Objects
3. Inheritance and Overloading Implementation
4. Classes versus Components
43 Prepared By Haftom B. 02/07/2024
3.1 Language Fundamentals
3.1.1 Variables and Data Types
44 Prepared By Haftom B. 02/07/2024
3.1.2 Control Flow
45 Prepared By Haftom B. 02/07/2024
3.1.3 Methods and Their Types
46 Prepared By Haftom B. 02/07/2024
3.1.4 Events
47 Prepared By Haftom B. 02/07/2024
48 Prepared By Haftom B. 02/07/2024
49 Prepared By Haftom B. 02/07/2024
50 Prepared By Haftom B. 02/07/2024
3.2 Classes and Objects
51 Prepared By Haftom B. 02/07/2024
3.3 Inheritance and Overloading Implementation
52 Prepared By Haftom B. 02/07/2024
3.4 Classes versus Components
53 Prepared By Haftom B. 02/07/2024
54 Prepared By Haftom B. 02/07/2024
Chapter 4:
Exception Handling
55 Prepared By Haftom B. 02/07/2024
Contents
Introducing Exception Handling
Structured Exception Handling
Implementing Exception Handling
56 Prepared By Haftom B. 02/07/2024
57 Prepared By Haftom B. 02/07/2024
58 Prepared By Haftom B. 02/07/2024
59 Prepared By Haftom B. 02/07/2024