Java Fundamentals
Course Program,
Evaluation, Exams
J a va B a
s ics
SoftUni Team
Technical Trainers
Software University
http://softuni.bg
Table of Contents
1. Course Objectives
2. Course Program
3. Trainers Team
4. Examination
5. Learning Resources
2
SoftUni Diamond Partners
SoftUni: Levels, Modules, Schedule
Programming Basics 6 credits 2 months
Programming Fundamentals 36 credits
Object-Oriented High-Quality Java Teamwork and 6 months
Advanced C#
Programming Code Fundamentals Personal Skills
36 credits 36 credits
Web Front-End Back-End
HTML + CSS JavaScript Advanced Database Web Services
Databases
+ WordPress Basics JavaScript Applications and Cloud 6 months
JavaScript JavaScript PHP Web ASP.NET MVC Web
Applications Frameworks Development Development
4
Warning: Not for Absolute Beginners
The "Java Fundamentals" course is NOT for absolute beginners
Take the “Programming Basics" course at SoftUni first: https://
softuni.bg/courses/programming-basics
The course is for beginners, but with previous coding skills
Requirements
Coding skills – entry level
Computer English – entry level
coding skills
Logical thinking required!
5
Java Fundamentals Course
Course Objecti ves & Program
Course Objectives
The "Java Basics" course:
First steps in Java programming:
Compiler, IDE, variables, control-flow logic, console I/O, loops
Methods, arrays, lists, sets, maps, strings
Develop algorithmic thinking and problems solving skills
Prepare for learning other languages and software technologies
HTML, CSS, JavaScript, PHP, Python, Ruby, …
Databases & SQL, high-quality code
Web development technologies & mobile platforms
7
Java Basics – Course Topics
1. Course Introduction. Introduction to Java, JDK and Eclipse
2. Java Syntax – Data types, Expressions, Condtitionals
3. Loops (while, do-while, for, foreach)
Methods. Basic Exception Handling
Using Built-In Java Classes. Defining Own Classes
4. Arrays, Strings, Lists, Dictionaries, Sets
5. Java OOP
6. Java Best Practices
7. Team work + Labs + Workshops
8. Practical Exam
8
The Trainers Team
Trainers Team
Ivan Yonkov
Rated in the top 7% at Stack Overflow
4 years of programming experience
mainly with Java and PHP
Solid experience as QA engineer
Top performing student from the
Software University (2014)
GitHub: https://github.com/RoYaLBG
10
Trainers Team (1)
Bogomil Dimitrov
Part-time trainer @ SoftUni
Top performing student from the
Software University (2014)
Studying IT in NBU
11
Volunteer Teaching Assistants
15+ volunteer teaching assistants
Scholarship students from SoftUni
Top students from SoftUni
12
Java Fundamentals: More Details
Durati on, Languages, Technologies
Training Duration – Java Basics
Lectures: ~ 30-40 hours (onsite + YouTube videos)
Practical exercises (in class): ~ 20-30 hours
Homework: ~ 30-50 hours
Team project: ~10-20 hours
Exam preparation: ~ 20 hours
Exam: 6 hours
Schedule: October-November 2015
Exam date: 15 November 2015 14
Why Java?
The Java platform is very popular
Free and open-source software (see OpenJDK)
Runs everywhere, on millions of devices
Supported by big players: Oracle, IBM, Google, SAP
Runs many languages: Java, Python, Ruby, Groovy, Closure, …
The Java language
Modern object-oriented language
7-10 millions Java developers in 2012 (source)
15
Why English?
Why the slides are in English?
English is the native language
of the software engineers
Specific terminology should be in English
Translations are inaccurate and funny
Just learn English!
No excuses
16
Java Fundamentals
Evaluati on Criteria
Scoring System "Java Fundamentals" Course
Exam – 80%
Labs – 10% (added to the exam results)
Homework + evaluation – 5% + 5%
Team work – 10%
Bonuses – up to 10%
Presence in class – 5% (onsite students only)
18
The Java Basics Exam
Practical programming exam
4 practical problems for 6 hours
1 easy, 1 text processing , 1 with loops,
1 with arrays / sets / maps
You should code in Java
Automated judge system with real-time feedback
http://judge.softuni.bg
Solutions are evaluated for correctness only
Code quality is still not measured 19
Homework Assignments
Doing your homework is very important!
Programming can only be learned through a lot of practice!
You should write code every day!
Each lecture is followed by a few exercises
Try to solve them in class
The rest are your homework
Homework assignments are due in 1 week after each lecture
Submission will be accepted through our web site: softuni.bg
20
Homework Peer Reviews
Give feedback to a few random homework submissions
Students submit homework anonymously
Please exclude your name from the submissions!
For each homework submitted
Students evaluate 3 random homeworks
From the same topic, after the deadline
Give written feedback, at least 200 characters
Low-quality feedback report for punishment
Everyone will get feedback for their homework
21
Resources
What We Need Additionally?
Course Web Site & Forums
The Java Basics official web site:
https://softuni.bg/courses/java-fundamentals
Register for the "Software University Forum":
Discuss the course exercises with your colleagues
Find solutions for all course exercises
Share source code / discuss ideas / help each other
https://softuni.bg/forum
23
The Java Programming Slides and Videos
All lecture slides, videos, homework assignments, projects and
other resources are open content, available for free
Visit the course web site to access the course resources
24
Free Java Fundamentals Textbook
The official textbook for the Java Fundamentals course
“Fundamentals of Computer Programming with Java”, by
Svetlin Nakov & Co., 2009, ISBN 9789544000554
Bulgarian version only available (as PDF, ePub, …)
Freely downloadable from: www.introprogramming.info
Read chapters 1…13 (up to Strings), optionally all others
The official Java Tutorial from Oracle:
http://docs.oracle.com/javase/tutorial/java/
25
Software University Learning System (SULS)
Software University Learning System (SULS)
www.softuni.bg
Important resource for students
Homework submissions
Homework check-up
Exams and results
Reports about your progress
…
26
Required Software
Recommended software for the Java Basics course:
Linux (your favorite distribution), e.g. Xubuntu 14.04
Optionally you can use Windows or other OS
JDK 8 (Java SE Development Kit 8)
Install JDK (not JRE!) – https://jdk8.java.net/download.html
IntelliJ IDEA – http://www.jetbrains.com/idea/download/
Any other Java IDE may also be used: Eclipse, Netbeans, …
27
Summary
The "Java Basics" course provides
The first steps in Java programming
Training program
Java platform, using Eclipse, variables,
control-flow logic, loops, advanced topics
Practical exams
Automated judge system + score system
Learning resources
Lectures, videos, software, books, forum
28
Java Fundamentals – Course Introduction
? ?
stio ns ?
e
?
Qu ?
?
?
https://softuni.bg/courses/java-basics/
License
This course (slides, examples, demos, videos, homework, etc.)
is licensed under the "Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International"
license
Attribution: this work may contain portions from
"Fundamentals of Computer Programming with C#" book by Svetlin Nakov & Co. under CC-BY-SA license
"C# Part I" course by Telerik Academy under CC-BY-NC-SA license 30
Free Trainings @ Software University
Software University Foundation – softuni.org
Software University – High-Quality Education,
Profession and Job for Software Developers
softuni.bg
Software University @ Facebook
facebook.com/SoftwareUniversity
Software University @ YouTube
youtube.com/SoftwareUniversity
Software University Forums – forum.softuni.bg