Foundations of Computer Science: What are they and how do we teach them? Viera K. Proulx, Richard Rasala and Harriet Fell Northeastern University Boston MA 02115, USA {vkp, rasala, fel} @ccs.neu.edu Abstract Computer science as a discipline is changing rapidly. New developments in software and hardware are changing the way we write programs, design systems, and create applications. The role of the first year curriculum in computer science is to lay the foundations for becoming a professional in the field. We examine the ways in which the changing nature of computer science influences our teaching methods, our view of which concepts are fundamental, and the overall sense of what it takes to become a successful computer scientist. We propose a first year curriculum model that has a strong emphasis on design, on programming in a structured project based environment, and on the extensive use of tools, libraries, and templates. We illustrate this model by describing a collection of graphicsbased exercises that apply computing across the disciplines. this excitement. We also have a practical reason. After the freshman year, our students follow a cooperative education plan in which they alternate academic work with work in industry every three months.
/lp/association-for-computing-machinery/foundations-of-computer-science-what-are-they-and-how-do-we-teach-them-ZKVtrnmUr6