Computer science: an overview
Anatomy of an introductory computer science course
SIGCSE '86 Proceedings of the seventeenth SIGCSE technical symposium on Computer science education
Design Education in Computer Science and Engineering
Computer - Computer science education in the US
Learning to program and learning to think: what's the connection?
Communications of the ACM
Computer science: a modern introduction (2nd ed.)
Computer science: a modern introduction (2nd ed.)
An axiomatic basis for computer programming
Communications of the ACM
Teaching recursion as a problem-solving tool using standard ML
SIGCSE '89 Proceedings of the twentieth SIGCSE technical symposium on Computer science education
AIDE: an automated tool for teaching design in an introductory programming course
SIGCSE '89 Proceedings of the twentieth SIGCSE technical symposium on Computer science education
Discrete mathematics as a precursor to programming
SIGCSE '90 Proceedings of the twenty-first SIGCSE technical symposium on Computer science education
Injecting rapid feedback and collaborative reasoning in teaching specifications
Proceedings of the 40th ACM technical symposium on Computer science education
Hi-index | 0.01 |
There have been numerous testimonies to the inadequacies of our educational system [83]. For undergraduate computer science educators, major concerns regarding student preparation include poor problem solving and critical thinking skills, weak mathematics background, an inability to convey thoughts and concepts, and a lack of motivation. These problems can be addressed in the introductory computer science course by developing an integrated approach to effectively teaching discrete mathematical foundations, fundamental computer science concepts, and problem-solving skills. This paper is conceptual in nature and introduces some specific examples of possible approaches to overcoming these deficiencies and problems.