Course: Programming I

« Back
Course title Programming I
Course code KIN/PGJ1A
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study 1
Semester Summer
Number of ECTS credits 6
Language of instruction Czech
Status of course Compulsory
Form of instruction unspecified
Work placements unspecified
Recommended optional programme components None
Lecturer(s)
  • Šimandl Václav, Mgr. Ph.D.
  • Havelková Hana, RNDr.
Course content
1. Introductory lecture. Course characteristics, "objects first" approach. Features of programming language Java. Study literature, resources on the web. 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 - intro. Dynamic object collections. The loop while and iteration over collections. 7. Arrays. The for loop and the for-each loop. 8. Using library classes. Code undestanding. Reading class documentation, using library classes and methods.A access modifiers privat and public. Static variables and constants 9. Testing. Tests automatization. Debugging. 10. Class design. Characteristic of good quality design. Cohesion and coupling. Removing code duplication. Refactoring. 11. Inheritance. Inheritance in Java. Subclasses and subtypes, polymorphic variables. Metod overriding, dynamic metod lookup. Static and dynamic type. Polymorphic methods, protected access 12. Enumerated types in Java. Class methods and main method. 13. Additional projects.

Learning activities and teaching methods
Monologic (reading, lecture, briefing)
Learning outcomes
Introductory course of programming whose main objective is to introduce students to fundamental concepts, principles and techniques of object-oriented programming. In this course there are applied object-first and design-patterns first approach. Using programming language Java and the development environment BlueJ, that was designed especially for teaching beginners, makes this approach easier. Preliminary knowledge of programming or some programming language is not required.
Passing the course the student will understand basic concepts of object oriented programming that is object, class, method and inheritance. He/she will learn basic Java/Python syntax and will be able how to use Java/Python control structures. He/she will be able to read the source code and customise it. After passing the course the student will be able to design and implement solutions of simple problems.
Prerequisites
none

Assessment methods and criteria
Written examination

Active participating in tutorials (at least 80 %). Passing 3 tests during the term (necessary to gain in sum at least 50 % of points; without resit attempts). Elaborating term project/s.
Recommended literature
  • BARNES, David J. a Michael KO?LLING. Objects first with Java: a practical introduction using BlueJ. Boston: Pearson, 2017. ISBN 978-013-447736-7.
  • HEROUT, Pavel. Učebnice jazyka Java. České Budějovice: Kopp, 2010. ISBN 978-80-7232-398-2.
  • PECINOVSKÝ, Rudolf. Java 7: učebnice objektové architektury pro začátečníky. Praha: Grada, 2012. ISBN 978-80-247-3665-5.
  • PECINOVSKÝ, Rudolf. Java 9: kompletní příručka jazyka. Praha: Grada Publishing, 2018. ISBN 978-80-271-0715-5.
  • SIERRA, Kathy a Bert BATES. Head first Java. Sebastopol, CA: O'Reilly, 2005. ISBN 0596009208.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester
Faculty: Faculty of Education Study plan (Version): information technology and e-learning (2) Category: Pedagogy, teacher training and social care 1 Recommended year of study:1, Recommended semester: Summer
Faculty: Faculty of Education Study plan (Version): Introductory teacher training course in information technology (5) Category: Pedagogy, teacher training and social care 2 Recommended year of study:2, Recommended semester: Summer
Faculty: Faculty of Education Study plan (Version): Introductory teacher training course in information technology (1) Category: Pedagogy, teacher training and social care 1 Recommended year of study:1, Recommended semester: Summer
Faculty: Faculty of Education Study plan (Version): Introductory teacher training course in information technology (5) Category: Pedagogy, teacher training and social care 2 Recommended year of study:2, Recommended semester: Summer
Faculty: Faculty of Education Study plan (Version): Introductory teacher training course in information technology (2) Category: Pedagogy, teacher training and social care 1 Recommended year of study:1, Recommended semester: Summer
Faculty: Faculty of Education Study plan (Version): Introductory teacher training course in information technology (3) Category: Pedagogy, teacher training and social care 1 Recommended year of study:1, Recommended semester: Summer
Faculty: Faculty of Education Study plan (Version): Introductory teacher training course in information technology (2) Category: Pedagogy, teacher training and social care 1 Recommended year of study:1, Recommended semester: Summer
Faculty: Faculty of Education Study plan (Version): information technology and e-learning (3) Category: Pedagogy, teacher training and social care 1 Recommended year of study:1, Recommended semester: Summer
Faculty: Faculty of Education Study plan (Version): Introductory teacher training course in information technology (3) Category: Pedagogy, teacher training and social care 1 Recommended year of study:1, Recommended semester: Summer