Codewitz Network  
Project Intranet

CodeWitz / Minerva - For Better Programming Skills (109986-CP-1-2003-1-FI-MINERVA-MPP)

This project receives funding for 3 years , Oct 2003- Sept 2006 from the European Union's Socrates programme Minerva: ODL and ICT in Education. More information about Minerva-programme.

The partners in this EU project are :

The project has produced the following outputs.

Documents

Needs Analysis (15.12.2003 ,PDF)

Comparative Test Results Report (28.09.2006 ,PDF)

Documented ideas for new learning objects (i.e. Plans)

The numbers of documented ideas in each area produced by CodeWitz / Minerva - For Better Programming Skills (109986-CP-1-2003-1-FI-MINERVA-MPP) project

  • Java
    • Object Oriented Programming
      • Lists - 36
      • Inheritance - 10
      • User-Defined Classes - 6
    • Basic Structures
      • Selection - 6
      • Methods - 16
      • Arrays - 40
      • Loops - 26
      • Basics - 14
    • Database Programming
      • Basics
  • Operating Systems
    • Concurrent Programming
      • Basic examples - 22
      • Basic assignments - 2
  • C++
    • Libraries
      • STL - 14
      • Streams - 12
      • String - 8
    • Basic Structures
      • Templates - 8
      • Files - 32
      • Selection - 70
      • Input and output - 8
      • Types - 2
      • Command Line Parameters - 4
      • Recursion - 40
      • Structures - 12
      • Loops - 84
      • Operators - 6
      • Arrays - 80
      • Pointers - 60
      • Functions - 110
      • Basics - 206
    • Object Oriented Programming
      • User-Defined Classes - 60
    • Data Structures
      • Arrays
      • Basics of Data Structures
      • Strings
  • Algorithms
    • Basic Concepts
      • Data Structures
  • Embedded Systems
    • Basic Concepts
      • Embedded Processors

To see the Plans you need to login to material bank: CMB

Documented ideas for new learning objects (i.e. Plans) selected to be implemented

These plans were selected in the 3rd Steering Group Meeting on September 16th 2004 in Ventspils, Latvia. The plans were processed together during the meeting in order to avoid possible overlapping.

Plans from Tampere University of Technology

C++ > Basic Structures > Structs :

  • Structs

C++ > Basic Structures > Recursion :

  • Palindrome (iterative)
  • Recursion: Palindrome
  • Palindrome (recursive)

C++ > Basic Structures > Functions :

  • Function call as a parameter of another function
  • Function call in the condition of an if-statement
  • Comparison between value and reference parameters
  • Function call in the condition of a loop

C++ > Basic Structures > Basics :

  • Short-circuit evaluation example for operator &&

Operating Systems > Concurrent Programming > Basic Examples :

  • Updating a shared variable
  • Producer-consumer
  • Dining Philosophers (deadlocking)
  • Dining Philosophers (doorman)
  • Reader-writer problem

Plans from Technical Univ. of Civil Engineering, Bucharest (instead of title, the learning goal has been used)

C++ > Basic Structures > Loops:

  • To understand the use of a simple condition for While and If statements
  • To understand the use of a simple condition for While and If statements and of basic operators
  • To understand the use of random function to generate different uniform random numbers

C++ > Basic Structures > Selection:

  • To learn test condition (if/else)

C++ > Basic Structures > Recursion:

  • A function can call itself. This is called recursion, and recursion can be direct or indirect.It is direct when a function calls itself; it is indirect recursion when a function calls another function that then calls the first function

C++ > Basic Structures > Basics :

  • To understand the use of NULL character to determine the string length and putchar function
  • To understand the use of NULL character
  • Demonstrates use of prefix and postfix increment and decrement operators
  • Operating and understanding variables
  • To understand the use of _rot and _rotl functions who determine a rotation to the left or to the right of the bits

C++ > Basic Structures > Functions :

  • To understand the declaration mode for a user define function that return a non-integer value: float, double, char etc.

C++ > Basic Structures > Arrays :

  • To understand the use of pow function (that calculate x^y where x>0), sqrt function, addition operator (+-) and imbricate for statements when handling with vectors.
  • To understand the use of addition operator (+-) abd imbricate for statements when handling with vectors.
  • To understand the use of a simple For statement to handle vector's elements.

C++ > Basic Structures > Loops > Selection > Arrays:

  • To understand the semantics addition (+=) and multiplier (*=) operators in an assigned statement
  • To understand the use of for and if statements in determining the minimum element of a given vector

Plans from University of Applied Sciences Furtwangen

C++ > Basic Structures > Basics:

  • Simple prototype example - to learn how to write a prototype of a function
  • Char variable - to learn how to use the limits of a char variable
  • Simple basic "arithmetic operations" exercise
  • Simple "nested methods" exercise
  • Simple "basic arithmetic operations" exercise
  • Simple Output exercise - to learn how to use the "cout" object correctly and to see the right use of the "Command Line Arguments"
  • Simple char example - to understand the connection of int and c

C++ > Basic Structures > Arrays:

  • Simple array initialization example

C++ > Basic Structures > Loops:

  • Simple loop example
  • Iteration example

C++ > Basic Structures > Selection:

  • To learn how a switch-statement works
  • If Clauses example
  • C++ > Basic Structures > Pointers :
  • To get into the use of pointers

C++ > Basic Structures > Functions :

  • Function prototype example
  • Simple "functions" exercise

Plans from Tampere Polytechnic

C++ > Basic Structures > Loops:

  • Model solution to an exercise, which searches the biggest number from those numbers what the user enters (teacher's material)

C++ > Basic Structures > Recursion:

  • Reversing a string by using recursion

C++ > Basic Structures > Basics:

  • Model solution to an exercise which counts the triangle's area (teacher's material)

C++ > Basic Structures > Functions:

  • Simple example of an inline-function

C++ > Basic Structures > Pointers:

  • Simple example of pointer arithmetic

C++ > Basic Structures > Files:

  • Simple example of reading a text file

C++ > Basic Structures > Arrays:

  • Processing of a single character

C++ > Basic Structures > Selection:

  • Model solution to an exercise, which exchanges the given euros to the currency, that user enters (teacher's material)

Java > Basic Structures > Methods:

  • Model solution to an exercise, which asks from the user two marks and an integer n.Then the program prints these marks by turns n times (teacher's material)

Java > Basic Structures > Repetition:

  • Model solution to an exercise, which asks the user to give an integer n and then the program prints a square, which side's length is n (teacher's material)
  • Model solution to an exercise, which asks the user to give a number of the letter of the alphabet.Then the program prints the alphabets so that the user's alphabet is within quotation marks (teacher's material)

Java > Object Oriented Programming > User-Defined Classes:

  • Basic example of OOP1
  • Basic example of OOP2
  • Basic example of OOP3

Java > Object Oriented Programming > Inheritance:

  • Simple inheritance example

Plans from Ventspils University College (title + learning goal)

C++ > Basic Structures > Basics:

  • Main function parameters - How to use assembler code in C++ programs
  • Main function parameters - How to generate random values
  • Main function parameters - Understand why and how to use static variables, the advantages - functions that "remember"
  • Main function parameters - Understand how to define your own data types
  • Namespace - To describe the use of namespaces
  • Get information about some operator, it's syntax, use, etc.

C++ > Basic Structures > Arrays:

  • Arrays - the use of 2 dimensional arrays.Input of 2 - dimensional array elements

C++ > Basic Structures > Structures:

  • Operators - overloading

C++ > Basic Structures > Operators:

  • Unary operator

C++ > Basic Structures > References:

  • References - To understand the idea of references

C++ > Basic Structures > Functions:

  • Functions - To understand the meaning, defining and priorities of functions.
  • Function overloading for arguments of different types

C++ > Objected Oriented Programming > User-Defined Classes:

  • Constructors - To show how to use several constructors

Java > Basic Structures > Basics:

  • Exceptions - To understand the exceptions and exception control

Java > Basic Structures > Loops:

  • Labelled loops - use of labelled groups

Plans from Reykjavik University

C++ > Basic Structures > Pointers:

  • Copying a string without using pointers
  • Copying a string using pointers
  • Two pointers that point at same variable
  • Elementary example of pointers - (originally by Hanna Kinnari - Tampere Polytechnic)

C++ > Basic Structures > Recursion:

  • An recursive function power to compute x^n - Using a recursive method to calculate return value in a function and compare it to using an iterative method
  • An recursive function power to compute x^n - Using a recursive method to calculate return value in a function and compare it to using an iterative method and a less efficient recursive method
  • An iterative function power to compute x^n

C++ > Basic Structures > Function:

  • An example showing different methods to pass information between a function and the main program
  • Two functions with same name but different number of parameters
  • Function using a pass by value parameter

Java > Basic Structures > Lists:

  • Delete a value in a list - write a program (iterative solution)
    (originally by Prof. Dr. H. Gläser, University of Applied Sciences Furtwangen)
  • Delete last value in a list - find a recursive solution
    (originally by Prof. Dr. H. Gläser, University of Applied Sciences Furtwangen)

Java > Object Oriented Programming > Inheritance:

  • Define a classes using inheritance - See how to use the instanceof operator
  • Define a classes using inheritance - Define a class and using istance of it
  • Define a class and using istance of it without inheritance

Learning Objects

The numbers of Learning Objects in each area produced by CodeWitz / Minerva - For Better Programming Skills (109986-CP-1-2003-1-FI-MINERVA-MPP) project

  • Java
    • Object Oriented Programming
      • Lists
      • Inheritance
      • User-Defined Classes - 6
    • Basic Structures
      • Selection
      • Methods
      • Arrays
      • Loops - 2
      • Basics - 2
    • Database Programming
      • Basics
  • Operating Systems
    • Concurrent Programming
      • Basic examples - 14
      • Basic assignments
  • C++
    • Libraries
      • STL
      • Streams
      • String
    • Basic Structures
      • Templates
      • Files - 2
      • Selection - 12
      • Input and output
      • Types
      • Command Line Parameters
      • Recursion
      • Structures - 2
      • Loops - 22
      • Operators - 6
      • Arrays - 4
      • Pointers - 8
      • Functions - 34
      • Basics - 24
    • Object Oriented Programming
      • User-Defined Classes
    • Data Structures
      • Arrays
      • Basics of Data Structures
      • Strings
  • Algorithms
    • Basic Concepts
      • Data Structures
  • Embedded Systems
    • Basic Concepts
      • Embedded Processors

To see the produced Learning Objects you need to login to material bank: CMB

Organised Conferences

4.-5.5.2006 Methods, Materials and Tools for Programming Education - MMT2006 (Codewitz Open Conference)

Proocedings are available also from Network Pages: Proceedings

Codewitz/Minerva Project Work Related Papers or Presentations

Mierlus Mazilu, I. 2003. "Educational Technologies on Electronic Platforms in Engineering Higher Education" (TEPE 2003) Paper in proceedings (romanian language): (pp. 346-359)

Mierlus Mazilu, I. 2005. "Educational Technologies on Electronic Platforms in Engineering Higher Education" (TEPE 2005) Paper in proceedings (romanian language): (pp. 154-166)

Mierlus Mazilu, I. 2006. "The 6th International Educational Technology Conference" (IETC 2006) Paper in proceedings (english language): (pp. 1222-1230)

Mierlus Mazilu, I. 2006. The Third International Conference on eLearning for Knowledge-based Society" (eLearningAP 2006) Paper in proceedings (english language): (pp. 15.1-15.6)

Mierlus Mazilu, I. 2006. "Fifth International Internet Education Conference" (ICT-Learn 2006)

Lahtinen, E., Ala-Mutka, K. & J�rvinen, H.-M. 2005. A Study of the Difficulties of Novice Programmers. In: Proceedings of the 10th annual ITiCSE conference, 27-29 June 2005, Monte de Caparica, Portugal. pp. 14-18.

Virtanen, A., Lahtinen, E., & J�rvinen, H.-M. 2005. VIP, a Visual Interpreter for Learning Introductory Programming with C++. In: Proceedings of The Fifth Koli Calling Conference on Computer Science Education. 17-20 November 2005, Joensuu, Finland. pp. 125-130.

Lahtinen, E. & Ahoniemi, T. 2005. Visualizations to Support Programming on Different Levels of Cognitive Development. In: Proceedings of The Fifth Koli Calling Conference on Computer Science Education. 17-20 November 2005, Joensuu, Finland. pp. 87-94.

Lahtinen E. & Ahoniemi, T. 2006. Annotations for Defining Interactive Instructions to Interpreter Based Program Visualization Tools. In: Proceedings of the Fourth Program Visualization Workshop. 29-30 June 2006, Florence, Italy.

Ahoniemi, T. & Lahtinen, E. 2006. Visualizations in Preparing for Programming Exercise Sessions. In: Proceedings of the Fourth Program Visualization Workshop. 29-30 June 2006, Florence, Italy.

Vitola, E. & Mikelsone, L. 2006. Codewitz learning objects adoption in programming course. In: International Conference on Education, Barcelona (SPAIN), July 12-14, 2006

Kujansuu, E. & Tapio, T. Codewitz - An International Project for Better Programming Skills. In: Proceedings of ED-MEDIA 2004 2004, World Conference on Educational Multimedia, Hypermedia &Telecommunications. 21-26 June 2004, Lugano, Switzerland. (pp. 76)

Kujansuu, E. (2005). Codewitz � Creating Learning Objects for Better Programming Skills. In G. Richards (Ed.), Proceedings of World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education 2005 (pp. 93-97)

 

   © Copyright Codewitz Network 2001 - 2017 >> Tampere Polytechnic , University of Applied Sciences