Course: Programming I

« Back
Course title Programming I
Course code UAI/695
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Frequency of the course In each academic year, in the summer semester.
Semester Summer
Number of ECTS credits 6
Language of instruction Czech
Status of course Compulsory
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Jelínek Jiří, Ing. CSc.
  • Konopa Michal, Mgr.
Course content
1. Introductory lecture course characteristics, "objects first" approach features of programming language Java study literature, resources on the web requirements for exam 2. Objects and classes objects creation, metod calls, metod parameters data types, object interactions 3. Class declarations instance variable declarations constructor declarations and instance metod declarations assignment statement, conditional statement, temporary variables 4. Class declarations conditional statement parameter passing at metod calling 5. Object interactions abstraction and modularization objects creating objects, constructors internal and external metod calls using debugger 6. Object collections dynamic object collections the loop while and iteration over collections 7. Object collections fixed-sized collections - arrays the for loop and the for-each loop 8. Using library classes code reading reading class documentation, using library classes and methods access modifiers privat and public static variables and constants 9. Testing unit testing in BlueJ tests automatization debugging in BlueJ 10. Class design characteristic of good quality design cohesion and coupling removing code duplication refactoring class methods and main method 11. Inheritance inheritance in Java subclasses and subtypes, polymorphic variables metod overriding, dynamic metod lookup 12. Enumerated types in Java 13. Inheritance static and dynamic type polymorphic methods, protected access class Object, method toString() 14. Additional projetcs summary of the course example of assignment for final exam and it's solution

Learning activities and teaching methods
Monologic (reading, lecture, briefing), Demonstration, Projection
  • Preparation for classes - 52 hours per semester
  • Preparation for exam - 26 hours per semester
  • Semestral paper - 26 hours per semester
  • Class attendance - 52 hours per semester
Learning outcomes
First part of the introductory course. Its main goal is to acquaint students with basic concepts, principles and techniques of object-oriented programing. The course uses object-first and design-patterns first techniques. This approach is supported by the use of the Java programming language and the NetBeans development environment.
Upon completion of the course the student will be able to explain the importance of key concepts and techniques used in solving problems using an object-oriented paradigm. The general concepts that we encounter when developing programs in object-oriented languages are polymorphism and inheritance. From the point of view of the techniques used to solve the problem, it will be an overview of the basic recommendations applied in the design phase of the solution. After completing the course, the student can explain the importance of design quality criteria and apply them in the solution of the semester project. By completing the course the student will deepen his knowledge of Java programming language and will be able to design and implement desktop applications with graphical user interface using the javax.swing or JavaFX library.
Prerequisites
Explanation does not presuppose any preliminary knowledge of any programming language, it is advisable to have basic knowledge of common algorithmic structures (branching, cycles, ...).
UAI/761

Assessment methods and criteria
Analysis of student's work activities (technical works), Combined exam, Test, Seminar work

During the semester, students work on projects arising from the subject matter. The exam is evaluated on the basis of semester, semestral work and theoretical tests. Terms of endings: Compleeting exercise projects Semestral work Passing theoretical tests
Recommended literature
  • Informační zdroje na síti Internet. Vzhledem k častým obměnám budou konkrétní místa upřesněna při zahájení výuky předmětu..
  • BARNES, D., J., KOLLING, M. Objects First with Java A practical Introduction using BlueJ. 2011. ISBN 978-0132835541.
  • BLOCH, J. Java efektivně - 57 zásad softwarového experta. 2002.
  • ECKEL, B. Thinking in Java. 4th edition. 2006. ISBN 978-0131872486.
  • HEROUT, P. Java - bohatství knihoven. České Budějovice, 2008. ISBN 978-80-7232-368.
  • HEROUT, P. Java - grafické uživatelské prostředí a čeština. České Budějovice, 2007. ISBN 978-80-7232-328.
  • HEROUT, P. Učebnice jazyka Java. IV. upravené vydání. České Budějovice, 2008. ISBN 978-80-7232-355-5.
  • HORSTMANN, C., S., CORNELL, G. Core Java 2 Volume I - Fundamentals. 9th Edition. 2012. ISBN 978-0137081899.
  • Jelínek, J. Webové stránky předmětu v systému Moodle.
  • Oracle. The Java? Tutorials - Oracle Help Center.
  • PECINOVSKÝ R. Java 7 učebnice objektové architektury pro začátečníky. 2012. ISBN 978-80-247-3665-5.
  • PREISS, B., R. Data Structures and Algorithms with Object-Oriented Design Patterns in Java. John Wiley & Sons, 2000..


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester
Faculty: Faculty of Science Study plan (Version): Applied Informatics (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Science Study plan (Version): Secondary Schools Teacher Training in Informatics (1) Category: Pedagogy, teacher training and social care - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Science Study plan (Version): Informatics for future teachers (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Science Study plan (Version): Applied Informatics (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Science Study plan (Version): Applied Informatics (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Science Study plan (Version): Applied Informatics (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Science Study plan (Version): Applied Informatics (1) Category: Informatics courses - Recommended year of study:-, Recommended semester: Summer