SOFTWARE -DESIGN, CREATION, USE, AND IMPACT is a new experimental first-year university course designed to demystify computers by empowering students to understand fundamental software concepts and to create simple programs that process text, draw pictures, produce sounds, and interact with their users in novel and imaginative ways.Software is created in LCSI Microworlds, an environment in which students can easily build and test simple computer programs and interactive applications. A toolkit is planned to aid in this process by enabling them to watch and listen to the operation of their programs. Students are encouraged to enhance their understanding of programs and computer science concepts through collaborative work.No previous experience with computers or programming is required, nor is an ability with mathematics. The course is designed for students who are able to explore and articulate concepts and express themselves in English. Female student are particularly encouraged to apply. The class is limited to 20 students.The course also examines in depth significant applications of computers and methods and tools for software design. Understanding is enriched through the study of exemplary application systems built in Microworlds. Significant time is devoted to an analysis of the social impact of computers, including issues such as jobs, control, privacy, and unreliable computers.Students also work individually or in teams during the second semester on their own projects, which they report on both orally and in writing. Projects deal with a use of Microworlds for a task that is meaningful to the student, an in-depth review of an area of computer application or social impact, or the development of new materials for future versions of this course.
COURSE SYLLABUSThere are five somewhat overlapping streams of course content -Creation, Design, Use, Impact, and Projects.Creation -Programming and Software Concepts comprises roughly 10 of the 40 lectures in the course. Here we introduce basic principles of programming in LOGO, with emphasis on the variety of data types with which we can transact in LOGO, procedures, recursion, names and things, and buttons, sliders, and text boxes for building interactive applications in Microworlds. We talk about algorithms, feedback and control, bugs and debugging, and complexity. Major examples include Karel the Robot, the game of Nim, and the Towers of Hanoi.--