Java Fundamentals - courses.cs.ut.ee · Previously on Java Fundamentals … • ~40 people started...
Transcript of Java Fundamentals - courses.cs.ut.ee · Previously on Java Fundamentals … • ~40 people started...
Java FundamentalsToomas Römer
@toomasr 2016, Tartu
A long time ago in a galaxy, far away
•2012 - MTAT.03.279
•Java Fundamentals - Java alusehitus
•2012, 2014 - Tartu University
•2013 - Tallinn Technical University)
Fundamentals?
Why are we doing this?
Why are we doing this?
• We love Java and like to spread this love!
• Java is a great technology to invest in!
• Our small way of giving back …
Why are YOU doing this?
Previously on Java Fundamentals …
• ~40 people started with the course
• ~20 finished with a grade
• ~5 forgot to de-register
• #protip Deregister from the course early!!!
Team
Course• 3 EAP ~ 78 hours of work
• 15 lectures
• 14 homework problems (might change!)
• Tuesdays @ 16:15-17:45 @ Liivi 2 @ 404
• Info @ https://courses.cs.ut.ee/2016/javaFund/fall
• Contact [email protected]
Homework• 14 assignments (might change)
• Each assignment scored 0.0 - 1.0
• Want to get to the exam?
• Get at least 50% of the assignment points!
• Too harsh?
• Okay, we won’t take into account 2 worse submissions
Homework
• 14 assignments
• We won’t count 2, so actually 12 assignments
• Maximum points will be 12
• You need 6 points to get to the exam!
Exam
• Written
• 60% of the exam score
• Oral
• 40% of the exam score
Final Grade• 50% assignments
• We won’t count the scores of 2 of the worst submissions
• 50% exam
• Prerequisite: must get 50% of all the assignment scores
• 60% written
• 40% oral
Homework
• Hard limit for the homework
• If you are late then you’ll get no points
• If you are late, we won’t even look into it
• Deadline is the next Monday 23:59 EEST
Expectations• You understand Java
• Know how to use an IDE
• Know about Maven
• Can read, write and understand English :)
• Know how to send emails
• JDK8
• Maven (3.3)
• IDE
• JUnit
• Git
Expectations
Course• Collections, Generics, Lambdas, Streams
• Java IO, NIO.2, Networking, Threads
• Memory Model/Management, Concurrency API
• Classloaders
• Reflection API, Dynamics Proxies, Extending JVM
• Java Troubleshooting, Performance
• Some Android …
Homework Demo
https://github.com/JavaFundamentalsZT/jf-skeleton
• Clone with Git$ git clone [email protected]:JavaFundamentalsZT/jf-skeleton.git jf2016-hw1
OR
• Download ZIPhttps://github.com/zeroturnaround/jf-skeleton/archive/master.zip
!"" README.md!"" pom.xml#"" src !"" main $ #"" java $ #"" ee $ #"" ut $ #"" jf2016 $ !"" Main.java $ #"" homework1 $ #"" Homework.java #"" test #"" java #"" ee #"" ut #"" jf2016 #"" homework1 #"" HomeworkTests.java
• cd jf2016-hw#
• mvn install
• java -jar target/jf2016-executable.jar
• mvn clean deployYour full name (e.g. John Smith):Jane SmithYour Student Book Number (matrikli number, e.g. B12345):B12345Homework number:1Comment:Java IO
• Attach target/jf-homework-B12345-1.zipand submit to [email protected]
Puzzlers
System.out.println ( 10 / 3 );
System.out.println ( 10 / 6 );
/**
* Generated by the IBM IDL-to-Java compiler, version 1.0
* from F:\TestRoot\apps\a1\units\include\PolicyHome.idl
* Wednesday, June 17, 1998 6:44:40 o’clock AM GMT+00:00
*/
public class Test {
public static void main(String[] args) {
System.out.print("Hell");
System.out.println("o world");
}
}
/**
* Generated by the IBM IDL-to-Java compiler, version 1.0
* from F:\TestRoot\apps\a1\units\include\PolicyHome.idl * Wednesday, June 17, 1998 6:44:40 o’clock AM GMT+00:00
*/
error: illegal unicode escape * from F:\TestRoot\apps\a1\units\include\PolicyHome.idl ^1 error
public class DosEquis { public static void main(String[] args) { char x = 'X'; int i = 0; System.out.print(true ? x : 0); System.out.print(false ? i : x); }}
X88
System.out.println(12345 + 5432l);
17777
System.out.println(12345 + 5432L);
public boolean indecision() { try { throw new Exception(); } finally { return false; }}