Teaching Forum 041018
Computer Science: Mari Göransson, Eivind J. Nordby, Donald F. Ross, Albin Zuccato
Information Systems: Remis Gustas, Prima Gustiené, Johan Öfverberg
Discussion subject:
How should object oriented programming and thinking be presented
in the undergraduate courses? What are the issues?
Issues from Computer Science
- are OO concepts and terminology used consistently throughout the
undergraduate education and does CS have a coherent policy?
- students do not appear to have understood the OO concept, with
its terminology and have difficulty applying it in other contexts
- students are too focussed on the code and as such miss the OO paradigm
Solution: greater stress on the paradigm
- students do not see the structure for the code (D-level)
- students lack the ability to abstract and use abstraction in solving problems
Solution: courses on design & abstraction
- there is an expectations mismatch between teachers and students -
generally the teachers expect more knowledge that the students possess
Solution: a greater awareness on the teachers'
part of prerequisite requirements
but at the same time the students should be expected to remember
what they have actually learnt between one course and the
following courses
Issues from Informations Systems
- greater emphasis must be placed on design
- in courses involving a programming language, the students
focus on the language in the first instance and not on
the OO approach
- whichever programming language is used, the language can always be misused
Solution: greater stress on the design process
and the paradigm
- OO should not be introduced until the students have learnt at leaset one
programming language (here C) and have become familiar with programming
- Abstraction, problem solving and coding are not distinct in the
student's mind
General Observations
- the CS approach is very technical - perhaps a wider approach is needed
BUT software engineers must know how to program
- the IS approach is more oriented towards design and methods
- there will be a greater requirement for OO thinking in the future as
more products are based on the paradigm
Proposals for future consideration CS/IS
- more emphasis on the design process and abstraction
- should a problem based approach bem introduced?
- could CS invite teachers from IS to present a different viewpoint
in their courses and vice versa?
- class libraries should be used from the beginning in programming
courses in order to raise the level of abstraction
- should all students have an OO approach right from the start?
- a clearer indication need be given to students of what they are expected
to know at each point in their education
|
|
|