CourseOverview - Java
CourseOverview - Java
2
Course Topics
What is this course about?
“ I will, in fact, claim that the difference between a bad programmer and
a good one is whether he considers his code or his data structures
more important. Bad programmers worry about the code. Good
programmers worry about data structures and their relationships. ”
— Linus Torvalds (creator of Linux)
4
About Me
Professor Eunyoung Moon (Prof. Moon)
Ph.D., University of Texas at Austin
Email: [email protected]
Office hour: Mon & Wed 4:00 pm – 5:30 pm (@ E11 #304)
5
Course Materials
Textbooks
• Goodrich, M. T., Tamassia, R., & Goldwasser, M.
H. (2014). Data structures and algorithms in
Java. John Wiley & Sons.
• https://introcs.cs.princeton.edu/java/home/
Learning Platforms
• kaist.elice.io (Check my email regarding how to get in)
• KLMS will record your grades & attendance at exercise 6
sessions.
Grading
Each component weight in final grade
7
Course Organization
One chapter per week:
• Check the weekly schedule on KLMS!
12
Attendance
Your TA will take attendance at exercise sessions & quizzes.
Tardiness
• Two tardies will be counted as one absence.
• In the case when you should miss the exercise session for medical
reasons or emergency, you must let me & your TA know.
• You must submit the proof of document such as a medical note by
your doctor. In that case, you can make up.
13
Two quizzes
• 50 points @ each
Scope Date
Quiz 1 Chapter 7 October 28th, 2019 class time
Quiz 2 Chapter 9 November 11th, 2019 class time
15
Final exam
200 points
17
Check point
Let’s say your submission is 1 second late;
what percentage will be deducted because of late submission?
A. 20%
B. 40%
C. 60%
D. 80%
E. 100%
Plan ahead.
Make a plan to submit early.
18
Check point
Let’s say your submission is two days late;
what percentage will be deducted because of late submission?
A. 20%
B. 40%
C. 60%
D. 80%
E. 100%
Plan ahead.
Make a plan to submit early.
19
Course Policy (2)
Penalties for submission mistakes.
• Example:
• “I accidentally submitted an empty file.”
While working on the exercises, regularly save your answers in multiple places—
in your USB, Dropbox, Google drive, and send it to your email etc.
20
Course Policy (2)
Penalties for submission mistakes.
21
Course Policy (3)
Academic Integrity
• Both the student who copied work from another student and
the student who gave material to be copied will both
automatically receive a zero on the assignment.
• You MUST make your own version of work for all individual
submissions.
24
Constructive contribution to class
• Be on time.
• Do not come in and out of the classroom during the lecture as
it interrupts your classmates & the professor who is giving a
lecture.
• In case you should use your laptop during the lecture session,
please do NOT:
✓ Surf the Internet.
✓ Check Instagram, Facebook, Twitter, and other social media.
✓ Check email.
✓ Work on assignments of other courses. 25 25
When you email me
Please title your email with the course number & course
section:
A. [ CS 206 ]
B. [ CS 206 A ]
C. [ CS 206 B ]
D. [ CS 206 C ]
E. None of the above.
26
Final grades
Will be based on relative grading;
Letter grade cutoff
A+ cutoff Average + 1.5* stdev
A0 cutoff Average + 1.0* stdev
A- cutoff Average + 0.5* stdev
B+ cutoff Average
B0 cutoff Average – 0.5*stdev
B- cutoff Average – 1.0*stdev
C+ cutoff Average – 1.5*stdev
C0 cutoff Average – 2.0*stdev
C- cutoff Average – 2.5*stdev
27
Questions?
28
Course overview quiz
Take a course overview quiz!
Prepackaged solutions (apps) are great when what they do is what you want.
Programming
• Is not just for experts.
• Is a natural, satisfying and creative experience.
• Enables accomplishments not otherwise possible.
• The path to a new world of intellectual endeavor.
32
• Why?
33
34
36
millions of developers
Java economy billions of devices
• Ma rs rover.
• Cell phones.
• Blu-ray Disc.
• Web servers.
• Medical devices.
• Supercomputers.
•…
37
Our approach
• Use a minimal subset of Java.
• Use Java to study how to efficiently organize data.
• Develop general programming skills that are applicable to many languages.
38
39
An apt metaphor.
• Would a single programming language enable us to do anything that we imagine?
• Is the proliferation of languages a basis of civilization in programming?
40
41
Your first program in Java
https://introcs.cs.princeton.edu/java/11hello/
Program development in Java
is a three-step process, with feedback
EDIT
COMPOSE
COMPILE RUN
REHEARSE PLAY
A significant difference with programs: We can use our computers to facilitate the process.
Program development environment: Software for editing, compiling and running programs.
45
Your programs will primarily consist of these plus identifiers (names) that you make up.
46
System.out.println("Hello, World");
}
}
body of main()
(a single statement)
program name
main() method
text file named public class MyProgram {
MyProgram.java
public static void main(String[] args) {
...
}
}
body of main()
(a sequence of statements)
48
49
Three versions of the same program.
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello, World");
} /*************************************************************************
} * Compilation: javac HelloWorld.java
* Execution: java HelloWorld
*
* Prints "Hello, World". By tradition, this is everyone's first program.
*
* % java HelloWorld
* Hello, World
*
Provide a brief statement of the program’s *************************************************************************/
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World"); }
}
Fonts, color, comments, and extra white space are not relevant in Java
language. However...
50
51
52