java programming practice - skkuarcs.skku.edu/pmwiki/uploads/courses/swpractice1/01... ·...
TRANSCRIPT
![Page 1: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/1.jpg)
JAVA Programming Practice
§ Course Overview
§ Lecture Schedule
§ Today’s Task
§ Contact
1
Prof. Hwansoo HanT.A. Minseop JeongT.A. Wonseok Choi
![Page 2: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/2.jpg)
Course Overview§ SWE2023-44§ Lecture + Lab
• Lecture: ~1 hour basic Java features• Lab: ~2.5 hours programming practices
§ Programming projects• Almost 10 lab practices• 3 Assignments• 1 project (2 in a team)• No exams
2
![Page 3: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/3.jpg)
Course Overview§ Precondition
• Introduction to computer science• C programming experience• Data structure
§ Grading factors• Attendance• Lab practice• Assignments• Term Project
3
![Page 4: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/4.jpg)
Class Policy§ Must – otherwise you will get ‘F’ grade
• Have to attend classes regarding to the project• Submit term project and assignments• Attend 12 weeks and more
§ May• Be absence from 1 class (no need to ask)
• From 2nd absent, it will be reflected on your grade• Attending after lecture will be counted by late (2 lates = 1 absence)
• Not submit lab practice, but it will be reflected on your grade
4
![Page 5: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/5.jpg)
Grading Policy§ Class attendance (10%)
• -1 points per absent§ Lab practices (10%)§ 3 Assignments (45%)
• 15% per each assignment (can be changed)§ Project (35%)
• 5% for intermediate presentation• 30% for final presentation
5
![Page 6: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/6.jpg)
Lecture ScheduleSpring 2019 (Wednesday)
This schedule can be changed
MARCH
6 13 20 27
Introduction&
Install and setup JavaBasic Grammar OOP
class-methodOOPAPIs
APRIL
3 10 17 24
OOPinheritance Error Handling File I/O & CSV MID TERM
(no class)
MAY
1 8 15 22 29
Import or Export Package
Project Proposal&
Some TipsMulti-threading Socket Project Intermediate
Check
JUNE
5 12 19
GUI Project Final Presentation
FINAL TERM(no class)
6
![Page 7: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/7.jpg)
Today’s Task§ Briefly understanding Java
§ Install Java on Microsoft Windows• Ask TA if you do on Ubuntu or other with your laptop
§ Install IDE for Java
7
![Page 8: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/8.jpg)
Java is…§ James Gosling, Mike Sheridan and Patrick Naughton
initiated the Java language project in June 1991§ Originally designed for small, embedded systems like set-
top box§ Java also refers to an island of Indonesia where first coffee
was produced (called java coffee)
8
![Page 9: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/9.jpg)
Also Java is…§ Front-runner of Object-Oriented Programming Language§ Executable on huge types of platforms
• with special, powerful and gorgeous item at that time, called JVM• 3 billions of devices run Java applications
§ Used for huge types of applications• IoT, Smartphone, JSP, embedded software, enterprise applications, etc.
§ Copyrighted by Oracle• Original copyrighter, Sun, is taken over by Oracle
9
![Page 10: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/10.jpg)
So, how does Java run?§ An overview of the Software development process
10
![Page 11: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/11.jpg)
So, how does Java run?§ Through the Java VM, the same application is
capable of running on multiple platforms
11
![Page 12: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/12.jpg)
So, how does Java run?§ Java Platform
• Java Virtual Machine (JVM)• Java Application Programming Interface (API)
12
![Page 13: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/13.jpg)
Then, how can we install Java?
13
①
§ https://www.oracle.com
![Page 14: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/14.jpg)
Then, how can we install Java?
14
②
![Page 15: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/15.jpg)
Then, how can we install Java?
15
③
![Page 16: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/16.jpg)
Then, how can we install Java?
16
④
![Page 17: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/17.jpg)
Then, how can we install Java?
17
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
⑤
![Page 18: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/18.jpg)
Then, how can we install Java?
18Detailed guide: https://wiki.appcelerator.org/display/guides2/Installing+Oracle+JDK
![Page 19: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/19.jpg)
Environment Variable1. For easy access to files2. For using Java libraries
19
![Page 20: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/20.jpg)
Set Environment Variable1. [Win_key + R]2. Type “sysdm.cpl” and press enter
20
Detailed guide: http://stackoverflow.com/questions/2619584/how-to-set-java-home-on-windows-7
![Page 21: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/21.jpg)
Set Environment Variable3. Move to “Advanced” tab4. Click Environment Variables
21
![Page 22: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/22.jpg)
Set Environment Variable5. Click “New…”6. Create variable “JAVA_HOME”
with the Java Installation Path
22
![Page 23: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/23.jpg)
Set Environment Variable7. Also create variable “CLASSPATH”
by “%JAVA_HOME%\jre\lib;.;”8. Modify variable “Path”
by adding “%JAVA_HOME%\bin”
23
![Page 24: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/24.jpg)
Eclipse, Java IDE§ Most famous and powerful editor for implementing Java
§ Pros• Project management• Check syntax error• Console Input/Output• Easy to debug• …
24
![Page 25: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/25.jpg)
Eclipse, Java IDE§ Most famous and powerful editor for implementing Java
§ Pros• Project management• Check syntax error• Console Input/Output• Easy to debug• …
§ Cons• Too easy to learn the interface• TAs have nothing to do for students…• Here is installation guide
25
![Page 26: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/26.jpg)
My new project
26
![Page 27: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/27.jpg)
My new project
27
![Page 28: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/28.jpg)
My new project
28
![Page 29: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/29.jpg)
My new project
29
![Page 30: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/30.jpg)
My new project
30
![Page 31: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/31.jpg)
My new class
31
![Page 32: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/32.jpg)
My new class
32
![Page 33: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/33.jpg)
My new class
33
![Page 34: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/34.jpg)
My new class
34
![Page 35: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/35.jpg)
[Lab – Practice #0]§ HelloWorld.java
• Print “Hello Java!” on the screen
public class HelloWorld {public static void main () {System.out.println (“Hello Java!”);
}}
35
![Page 36: JAVA Programming Practice - SKKUarcs.skku.edu/pmwiki/uploads/Courses/SWPractice1/01... · 2019-03-05 · Course Overview §SWE2023-44 §Lecture + Lab •Lecture: ~1 hour basic Java](https://reader033.vdocuments.site/reader033/viewer/2022041616/5e3b6aacd9c90010f5530aa0/html5/thumbnails/36.jpg)
Contact§ Office
• 85565, Corporate Collaboration Center• 031) 290-4939
§ Office Hour• 14:00 ~ 15:00 on Thursday
§ TA• Minseop Jeong
• [email protected]• Wonseok Choi
§ Feel free to contact via e-mail
36