Nikolay Kirov Kirov
New Bulgarian University
E-mail: nkirov@math.bas.bg
This page: http://www.math.bas.bg/~nkirov/2004/borovec.html
1. Teaching Programming
2. Programming Contests for University Students 3. Why HTML? What's Wrong with PowerPoint? |
WHERE? WHAT? HOW MANY? WHO? ... |
The list of the Bulgarian universities with teaching in programming
State universities
Sofia University
"St.
Kliment Ohridski"
Faculty of Mathematics and Informatics
[Bachelor's Degree in: Informatics, Computer Science,
Applied Mathematics, Mathematics; Teacher's degree in Mathematics and
Informatics]
University of
Plovdiv
"Paisii Hilendarski"
Faculty of Mathematics and Informatics
[Bachelor's Degree in: Informatics, Mathematics;
Teacher's
degree in Mathematics and Informatics]
South-West
University
"Neofit Rilski"
Faculty of Mathematics and Natural Sciences
[Bachelor's Degree in Informatics; Teacher's degree in
Mathematics and Informatics]
St. Cyril and St.
Methodius
University of Veliko Turnovo
[Bachelor's Degree in: Informatics; Teacher's degree
in Mathematics and Informatics]
Shumen University
"Konstantin
Preslavsky"
Faculty of Mathematics and Informatics
[Bachelor's Degree in: Informatics, Mathematics,
Teacher's
degree in Mathematics and Informatics]
University
of Rousse "Angel Kantchev "
[Bachelor's Degree in Informatics; Teacher's degree in
Mathematics and Informatics]
Technical state universities
Technical
University
of Sofia
[Bachelor's Degree in Applied Mathematics, Engineering
(various subjects)]
Technical
University of Gabrovo
[Bachelor's Degree in Engineering (various subjects)]
Technical
University
of Varna
[Bachelor's Degree in Engineering (various subjects)]
Economics state universities
University
of National and World Economy
Faculty of Informatics
[Bachelor's Degree in Informatics, Business Informatics]
Varna
University
of Economics
[Bachelor's Degree in Informatics; Teacher's
degree
in Mathematics and Informatics]
Non state universities
American University in
Bulgaria
New
Bulgarian
University
[Bachelor's Degree in Informatics]
Burgas
Free
University
[Bachelor's Degree in Informatics and Computer Sciences]
Varna Free
University
"Chernorizets Hrabar"
[Bachelor's Degree in Informatics]
Informatics (Computer Science)
lectures+tutorials+labs
|
Introduction in Programming |
Data Structures and Programming |
OOP |
Sofia U | 60+30+30 | 60+30+30* | 60+30+30* |
U Plovdiv | 60+0+40 | 60+0+40 | 60+0+40 |
SWU | 60+15+30 | 45+30+30 | 45+0+30 |
UVT | 30+0+60 | 45+0+30 (+45+45+0)** | 45+0+45 |
Shumen U | 45+30+30 | 45+30+30 (+45+30+30)*** | 45+15+30 |
U Rousse | 60+0+30 | 60+0+30 | 60+0+30 |
VUE | 75+0+45 | 45+15+30 | - |
NBU | 30 | 60+0+60** | 45 |
BFU | 30+0+45 | 30+0+45 | 30+0+45 |
VFU | + | + | + |
Engineering (Computer Systems and Technologies, Communication Techniques and Technologies, etc.)
|
Programming and Using Computers I | Programming and Using Computers II |
SWU | 30+0+30 | 30+0+30 |
U Rousse | 30+0+30 | 30+0+30 |
TU Sofia | 30+0(15)*+30 | 30+0(15)*+30 |
TU Gabrovo | 30+0+30 | 30+0+30 |
TU Varna | 30+0+30 | 30+0+30 |
BFU | 30+0+30 | 30+0+30 |
*For Computer Systems and Technologies
Programming Languages
In the last few years the demand from students for
relevant,
directly applicable and up-to-date skills has lead many universities to
move to teaching C++ or Java, using a true object oriented approach.
Environments
The most of the lecturers use MS Windows operating
system.
The integrated program systems for C++ are Borland C++, MS Visual C++
6.0,
a free GUI C++ compiler named Dev-C++ and DJGPP compiler. Only the last
two systems have full support of the C++ standard. UNIX-like operating
systems are more suitable for introductory courses in programming,
especially
for C++ language.
How important is the interface for computer-based programming tutors? Are there new methods presenting programming environments to students that we should be adopting?
Algorithms or Programming
What is better to learn first: algorithms (with
language
independent approach) or programming (with some programming language)?
The hen or the egg? One possible answer is both, starting from simple
algorithms
and a small subset of a given programming language.
Students
The majority of university level courses offer a
similar
experience to all students. However in the teaching of introductory
computer
programming this practice has become increasingly difficult to justify,
due to the widely differing initial experience of students.
We observe that a significant number of first year students have an excellent level or equivalent in Informatics. Many have a little industrial experience, and a few have worked in IT for a year out. Yet at the other end we observe that a fair number of students have little experience of computers beyond game playing.
Tony Jenkins from Leeds University presented a paper describing a differentiated approach to teaching introductory programming. At Leeds they used an aptitude test to categorize students as either Rocket Scientists, Averages or Strugglers. Rocket Scientists were already highly proficient programmers. Strugglers were those who would need support to help them achieve a fair standard. The Averages are those who will pass the course well with only occasional assistance. The Rocket Scientists probably do not need to attend the course and were given alternative projects to keep them enthused. The Strugglers were given extra attention in the form of supervised hands-on lab sessions with high teacher to student ratios.
Teachers
"At first sight, teaching programming appears to be a
straightforward task. Most staff who might be asked to teach a
programming
course will be fluent in at least one language, and will probably not
be
concerned at the prospect of learning another if necessary. There are
plentiful
textbooks covering all languages, paradigms and approaches. The
material
itself can be arranged neatly to fit into a lecture course over one or
two semesters, and can be readily arranged in order of increasing
complexity.
Assessment is a simple matter of devising some suitable programming
tasks."
In Bulgaria there are actually not enough skilled
lecturers
and instructors in programming. Because the people with good ability in
programming prefer to work in IT industry than teaching at the
universities.
About contests for university students
Association for Computing Machinery organizes
annual
ACM
International Collegiate Programming Contest.
Rules
for ACM contests.
Basic rules:
Each
team
consists of three contestants.
Each
team
uses a single computer.
The
programming
languages are Java, C++, C and Pascal.
Contestants
may bring resource materials such as books, manuals and program
listings.
They may not bring any machine-readable versions of software or
data.
Solutions
to problems submitted for judging are called runs. Each run is judged
as
accepted or rejected by a judge, and the team is notified of the
results.
Teams
are
ranked according to the most problems solved.
Recent programming competitions in Bulgaria
2002
Interuniversity Programming Contest | March 24, 2002 | BFU |
5-th Interuniversity Programming Tournament | May 19, 2002 | BFU |
1-st International Programming Contest | April 19, 2003 | SWU |
6-th Interuniversity Programming Tournament | May 10, 2003 | Shumen U |
2-nd International Programming Contest | March 28, 2004 | SWU |
7-th Interuniversity Programming Tournament | May 8, 2004 | U Plovdiv |
3-rd International Programming Contest | March, 2005 | SWU |
8-th Interuniversity Programming Tournament [?-th National Olympiads in Programming] |
May, 2005 | Sofia U |
The results of the universities teams
|
|
IPC(02) | 5-th IPT(02) | 1-st IPC(03) | 6-th IPT(03) | 2-nd IPC(04) | 7-th IPT(04) | No. |
1 | Sofia U | 1 | 1 | 1 | 1 | 1 | 1 | 6 |
2 | U Plovdiv | 2 | 4 | 4 | 4 | 3 | 2 | 6 |
3 | SWU | 8 | 7 | 6 | 6 | 7 | 8 | 6 |
4 | UVT | 8 | 10 | - | - | - | 8 | 3 |
5 | Shumen U | 7 | 9 | 8 | 3 | 4 | 5 | 6 |
6 | Rousse U | - | - | - | 8 | - | 8 | 2 |
7 | TU Sofia | - | - | - | - | - | - | 0 |
8 | TU Gabrovo | - | 5 | - | 9 | - | - | 2 |
9 | TU Varna | - | - | - | - | - | - | 0 |
10 | UNWE | - | - | - | - | - | - | 0 |
11 | VUE | 4 | 6 | 3 | 5 | 6 | 6 | 6 |
12 | AUB | 3 | 2 | 5 | 2 | 5 | 4 | 6 |
13 | NBU | 6 | 8 | 8 | 7 | 7 | 3 | 6 |
14 | BFU | 5 | 3 | - | - | - | 7 | 3 |
15 | VFU | - | - | - | 9 | - | 8 | 2 |
|
No. Univ | 9 | 10 | 7+2 | 10 | 7+1 | 11 |
|
Training advanced students for programming competitions
Cay Horstmann