ITC 190 Preprogramming 3 cr. DII

An introduction to the skills needed for computer programming. Topics include problem-solving methods, software development strategies such as top-down and bottom-up design, and how to read, modify and develop simple algorithms. Algorithms will be implemented in a user-friendly environment such as Karel the Robot, Object Logo and/or Hypercard. Three lecture hours per week, plus laboratory work outside of class. Not open to students who have received credit for CSC 201J. Credit for this course may not be applied to the Major or Minor in Computer Studies.
Note: This course may not be used to satisfy the Computer Literacy core requirement.
Prerequisites: High school algebra I & II.

Goals:
      This course is not a computer literacy course and is not an introductory programming course. Its main goals are to enhance the students' reasoning and problem solving skills, provide a basic knowledge of computer organization, and increase the students' command of the elementary computer skills which provide a foundation for the study of systematic programming techniques and formal computer science.


Topics:
  • Unit 1: Basic Logical Operations
    • basic logic including deductive and inductive reasoning
    • multiple "light switches" (logic gates: and, or, xor, not)
  • Unit 2: Visualization of Computer Memory
    • variable names & storage
    • address assignment
    • destructive read-in, non-destructive read-out
    • secondary storage: files, editor usage, text files and their manipulation
  • Unit 3: Pseudocode and Flow Charts (purpose and syntax)
    • sequential execution
    • selection
    • looping
  • Unit 4: Using Pseudocode and Flowcharts
    • algorithm design using pseudocode
    • algorithm design using flowcharts
  • Unit 5: Karel the Robot
    • sequential algorithms, looping, selection
    • building macros
  • Unit 6: Logo Programming
    • simple graphing programs
    • looping, recursion, object-oriented inheritance

Assignments:   Approximately six written assignments and four laboratory assignments are given. In the first four units, written exercises are assigned. The last two units involve simple "programming" exercises requiring the design of an algorithm to solve a specific problem. The programs are debugged and tested and a laboratory report is submitted for each one. There are six unit examinations and a comprehensive final examination.
      Each assignment has a specific due date, with a short grace period during which the assignment may be submitted for reduced credit. When the grace period has expired, the assignment will no longer be accepted.       The course grade is determined using the following approximate weights:
      written homework, including algorithms 50%;       unit exams (5% each) 30%;       final examination 20%.


Bibliography:
  • Pettis.   Karel the Robot.   (Wiley, 1989)
  • Abelson.   Logo for the PC.   (MIT Press, 1995)
  • Klausewitz, Ronald.   Course Description for Preprogramming.   (West Virginia Wesleyan College, 1994)
  • Parker, Russel.   A Preparatory Course for Potentially Unsuccessful Computer Science Majors.   (NSF Grant #9150701, 1995)
  • Davis.   Fundamental Computer Concepts.   Third Edition.   (Addison-Wesley, 1994)
  • Scragg.   Problem Solving with Computers.   (Jones and Bartlett, 1996)


Salem State Home Computer Science Home Faculty Computer Studies Major Flow Sheet
Computer Studies Minor Courses Course Sequence Diagram Computer Laboratories