Author_Institution :
Dept. of Comput. & Inf. Sci., Towson State Univ., MD, USA
Abstract :
The traditional approach to teaching CS1, begins with a short introduction and proceeds quickly to the syntax of a programming language, followed by functions, modules, abstract data types, data structures, algorithm complexity analysis and so on. Students think in a narrow language specific context, without an overview of design. Students mistakenly believe that the difficult and most important part of solving a problem using a computer is the translation into a specific programming language. No wonder that CS1 is considered to be the most stressful course for beginning college students. Students, working in isolation at home or in a laboratory, do not know if their errors are due to a lack of understanding of the concepts of computing, lack of understanding of the syntax and semantics of the programming language, some error(s) in the logic of their algorithm, failure to understand the cryptic or misleading error messages, or, occasionally, computer systems errors. This new approach attempts to avoid this frustration. The first year sequence supports students by allowing them to concentrate on concepts first, work in groups, learn object-oriented design very early, and gain a broad picture of computing from the very beginning. The details of the syntax and semantics are left for the second course.
Keywords :
computer science education; educational courses; object-oriented methods; computer science; concepts; group working; object-oriented design learning; problem solving; semantics; syntax; Algorithm design and analysis; Computer errors; Computer languages; Computer science; Data structures; Education; Educational institutions; Home computing; Laboratories; Logic programming;