Title :
Introducing computer science fundamentals before programming
Author :
Shackelford, Russell L. ; LeBlanc, Richard J., Jr.
Author_Institution :
Coll. of Comput., Georgia Inst. of Technol., Atlanta, GA, USA
Abstract :
In this paper, we describe a two course sequence that has been taught to majors in computer science and a variety of other disciplines. The first course is called “Introduction to Computing”; the second course is “Introduction to Programming”. The “Computing” course is a ten-week course that includes material on the following: the “computing perspective” (the algorithmic model as a way of thinking); foundational concepts underlying program design and implementation, including: algorithmic methods, static and dynamic data structures, and design using abstraction; fundamental notions of algorithm analysis and computability; and use of application tools such as e-mail, Web browsers, word processors, spreadsheets, databases, and equation solvers. Building on this foundational pre-programming material, students in the “Programming” course are able to learn rapidly the skills in program design, implementation, and debugging necessary to solve computational problems in a high-level programming language. We emphasize effective use of abstraction and the acquisition of software development skills that are language independent. Our experience with these courses has convinced us that it is possible to introduce the conceptual foundations of computer science to beginning students in a way that both engages them and gives them a basis for learning advanced ways to solve problems using computing, either via programming or through use of modern, highly-programmable commercial applications
Keywords :
computer science education; educational courses; program debugging; programming; software engineering; Introduction to Computing; Introduction to Programming; Web browsers; abstraction; algorithm analysis; algorithmic model; application tools; computer science course; computer science fundamentals; databases; dynamic data structure; e-mail; equation solvers; high-level programming language; pre-programming material; program debugging; program design; program implementation; software development skills; spreadsheets; static data structure; ten-week course; word processors; Algorithm design and analysis; Buildings; Computer languages; Computer science; Data structures; Databases; Debugging; Electronic mail; Equations; Programming;
Conference_Titel :
Frontiers in Education Conference, 1997. 27th Annual Conference. Teaching and Learning in an Era of Change. Proceedings.
Conference_Location :
Pittsburgh, PA
Print_ISBN :
0-7803-4086-8
DOI :
10.1109/FIE.1997.644858