Advanced Programming in Java Peyman Dodangeh Sharif University

  • Slides: 37
Download presentation
Advanced Programming in Java Peyman Dodangeh Sharif University of Technology Spring 2015

Advanced Programming in Java Peyman Dodangeh Sharif University of Technology Spring 2015

Agenda �Introduction to Course �Administrative Details �Syllabus �References �Evaluation Policy Spring 2015 Sharif University

Agenda �Introduction to Course �Administrative Details �Syllabus �References �Evaluation Policy Spring 2015 Sharif University of Technology 2

Expected Background �“A one-semester college course in programming. ” �I assume you can write

Expected Background �“A one-semester college course in programming. ” �I assume you can write a program in some language, understand variables, control structures, functions/subroutines. �If in doubt, let’s talk.

Evaluation Policy Spring 2015 How many? Total Grade Quiz 8 4 Midterm Exam 1

Evaluation Policy Spring 2015 How many? Total Grade Quiz 8 4 Midterm Exam 1 4 Final Exam 1 5 Assignment 3 3 Project 2 4+ Class Activity - + Sharif University of Technology 4

Administrative Details (cont. ) �Our teaching assistant is Mr. Rasooli.

Administrative Details (cont. ) �Our teaching assistant is Mr. Rasooli.

Administrative Details (cont. ) � 15 weeks �Two 80 -minute lectures per week, a

Administrative Details (cont. ) � 15 weeks �Two 80 -minute lectures per week, a break in between the lectures. �Course notes in Power. Point. �Course notes available (usually) Friday before class. �Send course questions to Blackboard’s Discussion Group, personal questions to me.

Administrative Details (cont. ) �Homework usually monthly. �Printing slides? Three to a page, at

Administrative Details (cont. ) �Homework usually monthly. �Printing slides? Three to a page, at least. Save a tree! Remove the Power. Point background before printing. Save toner!

Administrative Details (cont. ) �Attendance is not required, but… �…you are responsible for everything

Administrative Details (cont. ) �Attendance is not required, but… �…you are responsible for everything said in class. �I encourage you to ask questions in class. Don’t guess, ask a question!

My Policy on Cheating �Cheating means “submitting, without proper attribution, any computer code that

My Policy on Cheating �Cheating means “submitting, without proper attribution, any computer code that is directly traceable to the computer code written by another person. ” �I give students a failing course grade for any cheating. �This doesn’t help your job prospects.

My Policy on Cheating(cont. ) �You may discuss homework problems with classmates, after you

My Policy on Cheating(cont. ) �You may discuss homework problems with classmates, after you have made a serious effort in trying the homework on your own. �You can use ideas from the literature (with proper citation). �You can use anything from the textbook/notes. �The code you submit must be written completely by you.

Course Etiquette �Etiquette is “conduct in polite society” �No cell phones �No random comings

Course Etiquette �Etiquette is “conduct in polite society” �No cell phones �No random comings and goings �If you are sleepy, go home �If you want to read email or surf the Web, please do it elsewhere

This Course Covers: �Object Oriented Concepts �Fundamentals of Java programming language �Some Programming Skills

This Course Covers: �Object Oriented Concepts �Fundamentals of Java programming language �Some Programming Skills �Software Quality �Test �Refactoring Spring 2015 Sharif University of Technology 12

Object Oriented Programming �Problem Space �the place where the problem exists �such as a

Object Oriented Programming �Problem Space �the place where the problem exists �such as a business �Solution Space �the place where you’re implementing that solution �such as a computer �The effort required to perform this mapping. �E. g. think about a library, or a phonebook program Spring 2015 Sharif University of Technology 13

Object Oriented Approach �OOP lets the programmer represent problem space elements �The elements in

Object Oriented Approach �OOP lets the programmer represent problem space elements �The elements in the problem space and their representations in the solution space are referred to as “objects” Spring 2015 Sharif University of Technology 14

OOP �The program is allowed to adapt itself to the lingo of the problem

OOP �The program is allowed to adapt itself to the lingo of the problem �by adding new types of objects �when you read the code, you’re reading words that also express the problem. Spring 2015 Sharif University of Technology 15

OOP (2) �OOP allows you to describe the problem in terms of the problem

OOP (2) �OOP allows you to describe the problem in terms of the problem �Rather than in terms of the computer �Objects in your code are similar to real objects �Recall the sample programs: phonebook and library Spring 2015 Sharif University of Technology 16

Object Oriented Languages �Smalltalk �The first successful object-oriented language �One of the languages upon

Object Oriented Languages �Smalltalk �The first successful object-oriented language �One of the languages upon which Java is based �Java �C++ �C# Spring 2015 Sharif University of Technology 17

Java History �Java was created in 1991 �by James Gosling in Sun Microsystems �Initially

Java History �Java was created in 1991 �by James Gosling in Sun Microsystems �Initially called Oak �in honor of the tree outside Gosling's window �Its name was changed to Java �because there was already a language called Oak. �Sun Microsystems released the first public implementation as Java 1. 0 in 1995 �Java syntax is similar to C and C++. Spring 2015 Sharif University of Technology 18

Java Motivation �The need for platform independent language �To be embedded in various consumer

Java Motivation �The need for platform independent language �To be embedded in various consumer electronic products �like toasters and refrigerators �Platform independent? ! �Hardware �Operating System Spring 2015 Sharif University of Technology 19

Java Motivation (2) �At the same time, the World Wide Web and the Internet

Java Motivation (2) �At the same time, the World Wide Web and the Internet were gaining popularity. �Java could be used for internet programming. �Why? �Platform independence �Creation of Applets Spring 2015 Sharif University of Technology 20

The Java technology is: �A programming language �Java can create all kinds of applications

The Java technology is: �A programming language �Java can create all kinds of applications �A development environment �A compiler (javac) �An interpreter (java) �A documentation generator (javadoc) �… �Compare it to C++ Spring 2015 Sharif University of Technology 21

High-Level Languages Spring 2015 Sharif University of Technology 22

High-Level Languages Spring 2015 Sharif University of Technology 22

Java Virtual Machine Spring 2015 Sharif University of Technology 23

Java Virtual Machine Spring 2015 Sharif University of Technology 23

Compile and Execution Stages �Compare to C++ and Assembly �. NET Framework Spring 2015

Compile and Execution Stages �Compare to C++ and Assembly �. NET Framework Spring 2015 Sharif University of Technology 24

Java is Popular �Some reports on programming languages popularity �According to �Job advertisements �Book

Java is Popular �Some reports on programming languages popularity �According to �Job advertisements �Book sales �Finding code on the web �… Spring 2015 Sharif University of Technology 25

�http: //www. langpop. com �updated in 2010 Spring 2015 Sharif University of Technology 26

�http: //www. langpop. com �updated in 2010 Spring 2015 Sharif University of Technology 26

http: //www. tiobe. com/index. php/content/paperinfo/tpci/index. html (2012) Spring 2015 Sharif University of Technology 27

http: //www. tiobe. com/index. php/content/paperinfo/tpci/index. html (2012) Spring 2015 Sharif University of Technology 27

Characteristics of Java �Java is simple �Java is object-oriented �Java is architecture-neutral �Java is

Characteristics of Java �Java is simple �Java is object-oriented �Java is architecture-neutral �Java is portable �Java is interpreted �Java is multithreaded �Java is secure �Java is robust Spring 2015 Sharif University of Technology 28

First Example �Create a file named First. java �Java class files have. java extension

First Example �Create a file named First. java �Java class files have. java extension �Note to naming convention �Copy this lines to the file �Note: File name and class name should be the same. Fall 2011 Sharif University of Technology 29

Oracle, Sun, … Spring 2015 Sharif University of Technology 30

Oracle, Sun, … Spring 2015 Sharif University of Technology 30

Further Reading �Read Java page on Wikipedia http: //en. wikipedia. org/wiki/Java_(programming_language) �Google this terms

Further Reading �Read Java page on Wikipedia http: //en. wikipedia. org/wiki/Java_(programming_language) �Google this terms and phrases: �Java Mobile �JVM �Byte code �Java Sun Spring 2015 �Java and C++ �Java and C# Sharif University of Technology 31

Assignment # 0 �Download and install JDK � http: //www. oracle. com/technetwork/javase/downloads/index. html �

Assignment # 0 �Download and install JDK � http: //www. oracle. com/technetwork/javase/downloads/index. html � JDK 7 �Write a program that prints your name on the console �Compile and run the program Spring 2015 Sharif University of Technology 32

Course Outline �Let’s See The Syllabi.

Course Outline �Let’s See The Syllabi.

Topics �Introduction to java language � Java syntax, operators, conditions, loops, … � Strings

Topics �Introduction to java language � Java syntax, operators, conditions, loops, … � Strings � Arrays �Object Oriented Programming � Interface � Inheritance � Polymorphism �Advanced Java Programming � Exception Handling � Generics � Collections � GUI � Threads � Files and Streams � Networking � Reflection �Software Quality � Refactoring � Test Spring 2015 Sharif University of Technology 34

References �Java How to Program �Deitel & Deitel � 9 th Edition (6 th+

References �Java How to Program �Deitel & Deitel � 9 th Edition (6 th+ editions are ok) �Thinking in Java �Bruce Eckel �Fourth Edition Spring 2015 Sharif University of Technology 35

Course Homepage �https: //ce. sharif. edu/courses �Lecture notes and reference books are uploaded here

Course Homepage �https: //ce. sharif. edu/courses �Lecture notes and reference books are uploaded here Spring 2015 Sharif University of Technology 36

Spring 2015 Sharif University of Technology 37

Spring 2015 Sharif University of Technology 37