PROGRAMMING
Lecture 1
Sushil Paudel
erspaudel 1
WELCOME
Welcome to Informatics College Pokhara
London Metropolitan University
erspaudel 2
MODULE LEADER
• Sushil Paudel
• Masters in Computer Engineering, NCIT
• Bachelors in Computer Engineering, NEC
• Lecturer – Informatics College Pokhara
• Former Lecturer - Mount Annapurna Campus
• Former Tutor - New Horizons CLC
• Founder & CEO – Foodmood
• Founder & CTO - Kandhani Information Technologies
• Former Java Developer - Smart Data Solutions
• Former Developer – VolcusSoft
• Former Developer BusSewa
erspaudel 3
CLASS RULES
• Enter the classroom in time.
• Switch off your mobile phones or keep it in silent mode
• Don’t use laptops during lecture.
• Maintain discipline inside the class.
• If you have any questions, raise your hand once I finish the
slide.
erspaudel 4
COURSE INFORMATION
• To gain and demonstrate a sound knowledge of
programming principles.
• Apply object-oriented concepts to solve programming
problems.
• To be able to implement a (small) software system in Java.
erspaudel 5
COURSE SETUP
• 28 lectures.
• Each lecture will be followed by a tutorial and a workshop.
• Tutorial classes will be interactive classes where students must
have gone through the lecture slide.
• Tutorial classes will prepare you for workshop.
• Bring your laptop in tutorial and workshop classes.
erspaudel 6
ASSESSMENTS
• Weekly assignments (10%)
• Coursework 1 (25%) – online submission, 12th week
• Coursework 2 (25%) – online submission, 24th week
• Practical Exam (40%) – Multiple choice test, 1.5 hours – 31st
week
erspaudel 7
ASSIGNMENT RULES
• Individual tutorial/coursework.
• Missed deadlines will be dealt very severely.
• We take plagiarism very seriously so exchange ideas not
solutions.
• Any student found copying part of a program or have
someone else do it for them( friends, colleagues, relatives or
hired personnel) and unable to defend on VIVA will fail the
assignment.
erspaudel 8
LANGUAGE
erspaudel 9
LANGUAGE
• Language has been our primary mean of communication.
• We humans communicate with different languages.
• But how the computers communicate..? Do they use english,
Nepali, Hindi, French, etc .., to communicate…? Absolutely a
big NO .
• Your application is reacting to the mouse and keyboard or even
the mic, it can read files from your disk storage and so on.
• But at the end, the machine understands nothing but bits, 1s,
and 0s, the combination of which creates meaning.
erspaudel 10
LANGUAGE
• It knows only 0′s and 1′s.
• Instructions given to the computer in 0’s and 1’s is known
as binary language( also known as machine language).
• Then, as the programmers found writing code in binary
language seems to be difficult, then they used a English like
words to write a program. This language is known as assembly
language.
• The programming languages which are machine independent
and are written in a English language is known as the high level
languages . Some of the examples of high level language are
c, c++, python, java…etc
erspaudel 11
PROGRAMMING LANGUAGE
• A programming language is a set of commands, instructions,
and other syntax use to create a software program.
• Languages that programmers use to write code are called
"high-level languages.”
• Thus, programming language is the medium of communication
between you (a person) and a computer system.
• It is the set of some instructions written in a specific style
(coding) to instruct the computer to do some specific task.
erspaudel 12
PROGRAMMING LANGUAGE
erspaudel 13
PROGRAMMING LANGUAGE
erspaudel 14
SOFTWARE DESIGN
• If you wanted to build a house, it is unlikely that you would start
by gathering the materials and cementing bricks, window
frames and doors together.
• It is more likely that you would decide what you wanted in the
house and draw up plans of how it would look and how it
would be put together.
• In other words, you would first formulate your requirements and
then produce a design; only then would you be in a position to
start building.
erspaudel 15
SOFTWARE DESIGN
• We go through a similar process when developing software.
• We gather requirements, produce a design that meets those
requirements and then write programs according to the design.
• There are two main design methods in use today: the structured
approach and the object-oriented approach.
erspaudel 16
PROGRAMMING LANGUAGE
erspaudel 17
JAVA
erspaudel 18
JAVA
• Introduction
• Why Java?
• Java Terminology (JDK, JRE and JVM)
• Features of Java
• Writing a first Java program
erspaudel 19
INTRODUCTION
• Java is a popular programming language, created in 1995.
• It is owned by Oracle, and more than 3 billion devices run
Java.
• It is used for:
• Mobile applications (specially Android apps)
• Desktop applications
• Web applications
• Games
• And much, much more!
erspaudel 20
WHY JAVA?
• Java works on different platforms (Windows, Mac, Linux, etc.)
• It is one of the most popular programming language in the
world
• It is easy to learn and simple to use
• It is open-source and free
• It is secure, fast and powerful
• It has a huge community support (tens of millions of
developers)
erspaudel 21
JAVA TERMINOLOGY
Java Development Kit (JDK)
• JDK is a software development environment used for
developing Java applications and applets.
• It includes the Java Runtime Environment (JRE), an
interpreter/loader (java), a compiler (javac), an archiver
(jar), a documentation generator (javadoc) and other tools
needed in Java development.
erspaudel 22
JAVA TERMINOLOGY
Java Runtime Environment (JRE)
• JRE is a part of JDK which means that JDK includes JRE.
• When you have JRE installed on your system, you can run a
java program however you won’t be able to compile it.
• JRE includes JVM, browser plugins and applets support.
• When you only need to run a java program on your
computer, you would only need JRE.
erspaudel 23
JAVA TERMINOLOGY
Java Virtual Machine (JVM)
• JVM is the runtime engine of the Java Platform, which
allows any program written in Java or other language
compiled into Java bytecode to run on any computer.
• JVM executes the bytecode generated by compiler.
erspaudel 24
JAVA TERMINOLOGY
erspaudel 25
FEATURES OF JAVA
• Object Oriented
• Robust
• Multithreaded
• Platform Independent
• High Performance
• Secure
erspaudel 26
PREREQUISITES
• JDK
• Blue J
• Classpath setting
erspaudel 27
FIRST JAVA PROGRAM
class MyFirstJavaProgram {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
erspaudel 28