in Java Peyman Dodangeh Sharif University of Technology Spring 2014 Agenda Introduction to Course Administrative Details Syllabus References Evaluation Policy Spring 2014 Sharif University of Technology ID: 623758
Download Presentation The PPT/PDF document "Advanced Programming" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Advanced Programming in Java
Peyman
Dodangeh
Sharif University of Technology
Spring 2014Slide2
Agenda
Introduction to Course
Administrative Details
SyllabusReferencesEvaluation Policy
Spring 2014
Sharif University of Technology
2Slide3
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.Slide4
Evaluation Policy
Spring 2014
Sharif University of Technology
4
How many?
Total Grade
Quiz
8
4
Midterm Exam
1
3
Final Exam
1
5
Assignment
4
4
Project
2
4+Slide5
Administrative Details (cont.)
Our teaching assistant is Slide6
Administrative Details (cont.)
17
weeks
Two 80-minute lectures per week, a break in between the lectures.
Course notes in PowerPoint.Course notes available (usually)
Friday before class.Send course questions to Blackboard’s Discussion Group, personal questions to me.Slide7
Administrative Details (cont.)
Everything is attached to the syllabus. Don’t look for assignments, etc. on Blackboard. Look at the syllabus!
Homework usually weekly.
Printing slides? Three to a page, at least. Save a tree! Remove the PowerPoint background before printing. Save toner!Slide8
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!Slide9
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.Slide10
My Policy on Cheating
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.Slide11
Course Etiquette
Etiquette is “conduct in polite society”
No cell phones
No random comings and goingsIf you are sleepy, go home
If you want to read email or surf the Web, please do it elsewhereSlide12
This Course Covers:
Object Oriented Concepts
Fundamentals of Java
programming languageSome Programming SkillsSoftware Quality
TestRefactoring
Spring 2014
Sharif University of Technology
12Slide13
Object Oriented Programming
Problem Space
the place where the problem exists
such as a businessSolution Spacethe place where you’re implementing that solution
such as a computerThe effort required to perform this mapping.
E.g. think about a library, or a phonebook programName solution space entities.
Spring 2014
Sharif University of Technology
13Slide14
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 2014
Sharif University of Technology
14Slide15
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 2014
Sharif University of Technology
15Slide16
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 2014
Sharif University of Technology
16Slide17
Object Oriented Languages
Smalltalk
The first successful object-oriented language
One of the languages upon which Java is basedJava
C++C#
Spring 2014
Sharif University of Technology
17Slide18
Java History
Java
was created in 1991
by James Gosling in Sun MicrosystemsInitially called Oak
in honor of the tree outside Gosling's windowIts 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 1995Java syntax is similar to C and C++.
Spring 2014
Sharif University of Technology
18Slide19
Java Motivation
The need for
platform independent
languageTo be embedded in various consumer electronic products like toasters and refrigerators
Platform independent?!HardwareOperating System
Spring 2014
Sharif University of Technology
19Slide20
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 independenceCreation of Applets
Spring 2014
Sharif University of Technology
20Slide21
The Java technology is:
A
programming language
Java can create all kinds of applicationsA development environment
A compiler (javac)An interpreter (java)
A documentation generator (javadoc)
…
Compare it to C++
Spring 2014
Sharif University of Technology
21Slide22
High-Level Languages
Spring 2014
Sharif University of Technology
22Slide23
Java Virtual Machine
Spring 2014
Sharif University of Technology
23Slide24
Compile and Execution Stages
Compare to C++ and Assembly
.NET Framework
Spring 2014
Sharif University of Technology
24Slide25
Java is Popular
Some reports on programming languages popularity
According to
Job advertisementsBook sales
Finding code on the web…
Spring 2014
Sharif University of Technology
25Slide26
Spring 2014
Sharif University of Technology
26
http://www.langpop.com
updated in 2010Slide27
Spring 2014
Sharif University of Technology
27
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
(2012)Slide28
Characteristics of Java
Java is simple
Java is object-oriented
Java is architecture-neutralJava is portableJava is interpreted
Java is multithreadedJava is secureJava is robust
Spring 2014
Sharif University of Technology
28Slide29
First Example
Create a file named First.java
Java class files have .java extension
Note to naming conventionCopy this lines to the fileNote: File name and class name should be the same.
Fall 2011
Sharif University of Technology
29Slide30
Oracle, Sun, …
Spring 2014
Sharif University of Technology
30Slide31
Further Reading
Read Java page on Wikipedia
http://en.wikipedia.org/wiki/Java_(programming_language)
Google this terms and phrases:
Spring 2014
Sharif University of Technology
31
Java
Java Mobile
JVM
Byte code
Java Sun
Java and C++
Java and C#Slide32
Assignment # 0
Download and install JDK
http://
www.oracle.com/technetwork/java/javase/downloads/index.html
JDK 7Write a program that prints your name on the consoleCompile and run the program
Spring 2014
Sharif University of Technology
32Slide33
Course Outline
Let’s See The Syllabi.Slide34
Topics
Introduction to java language
Java syntax, operators, conditions, loops, …
Strings
ArraysObject Oriented ProgrammingInterface
InheritancePolymorphismSoftware Quality
Refactoring
Test
Advanced Java Programming
Exception Handling
Generics
Collections
GUI
Threads
Files and Streams
Networking
Reflection
Spring 2014
Sharif University of Technology
34Slide35
References
Java How to Program
Deitel & Deitel
9th Edition (6th
+ editions are ok)Thinking in Java Bruce
EckelFourth Edition
Spring 2014
Sharif University of Technology
35Slide36
Course Homepage
https://
ce.sharif.edu/courses
Lecture notes and reference books are uploaded here
Spring 2014
Sharif University of Technology
36Slide37
Spring 2014
Sharif University of Technology
37