581325 Introduction to programming

Principal theme Prerequisite knowledge Approaches the learning objectives Reaches the learning objectives Deepens the learning objectives
Algorithms and control structures • No pre-requisites (comprehensive-school mathematics) • Know and can explain the concept of programming languages, compilation, and interpretation.
• Can explain the significance of assignment operations and the sequential execution of algorithms.
• Can simulate simple algorithms.
• Can formulate simple algorithms.
• Can explain the concept "algorithm state."
• Understand how logical expressions are statements on algorithm's state.
• Know how to use basic control structures.
• Understand the concept of a program that asks for input data and writes output data, and can implement one.
• Know the concept of arrays and can program sequential search, binary search, and some way to sort the elements of an array.
• Can understand why a sequential search is a linear operation, a binary search logarithmic, and sorting squared.
• Can create programs that are elegant both in their logic and their appearance.
Variables and types • The concept of algorithms • Grasp the concept of the type and value of variables.

• Can use variables and write expressions of the types int, double, boolean and String.
• Know the difference between simple  types and reference types.
• Know the significance of assignment compatibility in programming.

• Understand the behaviour of formal parameters and local variables.

• Know how to use classes as types.
• Know how to index the array.

• Know some of the history of type categorisation and can assess the consequences of different options.
Sub-programs • The concept of algorithms • Grasp the principles of naming and calling algorithms. • Can define and call sub-programs, Java methods.
• Can describe and use formal and actual parameters.
• Know how a method can change the value of a parameter, if the parameter's class allows it.
• Know the technique for overloading methods and also know how to program overloaded methods and constructors in practice.
• Know that the Java value parameters is just one alternative for parameter technique: there are languages with reference parameters, for example.
Classes, objects and encapsulation • Variables, algorithms, methods, parameters • Can outline the objects for a class specification as "drawings" for creating objects. • Can program instance variables and accessors.
• Know the technique for encapsulation and can apply it in programming.
• Know the concept of 'object state.'
• Know the lifespan of an object and how it differs from the lifespan of the local variables of methods.
• Can give objects as parameters.
• Know the significance of automatic garbage collection.
• Understand the significance of encapsulation in software design and the need for program validation.
• Understand the consequences of automatic garbage collection in the applicability of the Java language and what Java is suitable for for this reason, and what it is completely unsuitable for.


22.09.2011 - 10:28 Arto Wikla
05.09.2011 - 14:02 Marina Kurtén