IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Introduktion til programmering - begreber og redskaber 
Kursusnavn (engelsk):Introduction to Programming - Concepts and Tools 
Semester:Efterår 2003 
Udbydes under:cand.it., internet- og softwareteknologi (int) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:60 
Maks. antal deltagere:200 
Formelle forudsætninger:This course is only open to students with at
least a Bachelor\'s degree in science or
engineering. In particular, it is expected that
you are familiar with using a computer and that
you know how to use email and internet. 
Læringsmål:The course has three major objectives:


  1. Introduction of the main concepts
    underlying modern high-level programming
    languages which includes procedural components
    like variables, basic datatypes, control
    structures (if then else, for and while loops),
    arrays, methods and recursion.

    The course will also cover the basic components
    of object oriented
    programming like class structure, encapsulation,
    inheritance and polymorphism.


  2. Introduction to algorithms and problem
    solving including basic
    searching and sorting algorithms, complexity of
    algorithms, and divide
    and conquer algorithms using recursion.


  3. Introduction to Java as an example of a
    modern high-level
    object oriented programming language.





At the end of this course students should
understand the basic
components of modern programming languages, know
how they are
syntactically realized in Java, and be able to
write small structured
and well-designed programs in Java to solve given
tasks.



This course covers the prerequisites for more
advanced
programming courses like web-based programming or
object oriented programming.

 
Fagligt indhold:Programming is one of the fundamental ingredients
in IT and computer
science. Most courses in IT require at least
basic, if not solid, programming skills.

The course provides an introduction to that area.
We will cover the concepts of procedural
programming and basic
concepts of object oriented programming.
In particular we will cover the following topics
(not necessarily in
this order):



  • The programming process;


  • Variables, basic data types;


  • Arrays;


  • Control structures;


  • Functions (procedures, methods);


  • Classes, class structure, encapsulation,
    inheritance,


  • polymorphism;


  • Exception handling.




We will also see how these basic programming
constructs are realized
in the language Java. In addition to the above
topics we will also
cover the following Java-specific topics:



  • Java I/O (input/output);


  • Java packages.




On the algorithmic side we will introduce basic
searching algorithms
for unordered and ordered lists and discuss the
notion of
complexity of algorithms. Next to searching,
sorting data is the other
fundamental task done by computer programs. We
cover the standard
algorithms like selection sort, bubble sort and
quick sort.



Example programs and exercises will deal, among
others,
with strings and string handling,
graphs, and (elementary) mathematics.

 
Læringsaktiviteter:

Lectures and lab exercise classes. 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 13-skala, Ekstern censur

4 hours open book written exam.
Language dictionaries are allowed, but all
electronic equipment is forbidden.
External censorship. Graded on the danish
13-scale. Participation in exam
requires approval of 8 out of 11 of the weekly
assignments.  

Litteratur udover forskningsartikler:Ira Pohl, Charlie McDowell. Java by Dissection.
The Essentials of Java Programming.
Addison-Wesley, 2000 or later.