• DocumentCode
    319149
  • 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
  • Volume
    1
  • fYear
    1997
  • fDate
    5-8 Nov 1997
  • Firstpage
    285
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Frontiers in Education Conference, 1997. 27th Annual Conference. Teaching and Learning in an Era of Change. Proceedings.
  • Conference_Location
    Pittsburgh, PA
  • ISSN
    0190-5848
  • Print_ISBN
    0-7803-4086-8
  • Type

    conf

  • DOI
    10.1109/FIE.1997.644858
  • Filename
    644858