Python Computer Science I

I.     Course Prefix/Number: CSC 157

       Course Name: Python Computer Science I

       Credits: 3 (3 lecture; 1 lab)

II.    Prerequisite

MAT 110 or any higher MAT course with minimum grade of C, or appropriate score on the Mathematics Placement Test.

III.   Course (Catalog) Description

A first course in computer programming from basic through intermediate levels. Content includes designing, implementing and debugging maintainable Python programs, and demonstrating problem solving and algorithm development for applications from business and computer science. Abstract data types and object-oriented methods enhance study of elementary data structures.

IV.   Learning Objectives

  1. Describe and apply appropriate programming techniques in designing, documenting, testing, and debugging programs using a maintainable programming style.
  2. Write input expressions to store numeric and string values into variables, arithmetic and string expressions to manipulate and process data, and output expressions with formatted results.
  3. List class definitions, objects and intrinsic data types, and instantiate objects and variables.
  4. Write method definitions within a class, including constructors, and determine the limits of the scope of variables.
  5. Identify the algorithmic need for selection, choose an appropriate selection structure, and successfully code a select structure that implements the algorithm.
  6. Identify the algorithmic need for repetition, choose an appropriate repetition structure, including nested loops if appropriate, and successfully code a repetition structure that implements the algorithm.
  7. Demonstrate necessary features of object oriented languages, including overloaded methods, pass by-reference, pass-by-value, intrinsic data, return values, comments, simple exception catching, and assertions.
  8. Identify the algorithmic need to store data into arrays, including multidimensional arrays, and walk those arrays to access the data.
  9. Demonstrate techniques to store formatted data to an ASCII text file, and read formatted data from an ASCII text file into program variables.
  10. Use a sort and a search algorithm on a one-dimensional array.
  11. Create, compile, and run simple applets and applications using object oriented   programming in Python and identify the major components of a program.

V.    Academic Integrity and Student Conduct

Students and employees at Oakton Community College are required to demonstrate academic integrity and follow Oakton's Code of Academic Conduct. This code prohibits:

• cheating,
• plagiarism (turning in work not written by you, or lacking proper citation),
• falsification and fabrication (lying or distorting the truth),
• helping others to cheat,
• unauthorized changes on official documents,
• pretending to be someone else or having someone else pretend to be you,
• making or accepting bribes, special favors, or threats, and
• any other behavior that violates academic integrity.

There are serious consequences to violations of the academic integrity policy. Oakton's policies and procedures provide students a fair hearing if a complaint is made against you. If you are found to have violated the policy, the minimum penalty is failure on the assignment and, a disciplinary record will be established and kept on file in the office of the Vice President for Student Affairs for a period of 3 years.

Please review the Code of Academic Conduct and the Code of Student Conduct, both located online at

VI.   Sequence of Topics

  1. Software Engineering
    1. Analysis and design
    2. Implementation and validation: enter, compile, and execute authored code
    3. Maintenance: Debugging and Testing
  2. Essential Programming
    1. Execution Models
      1. applets
      2. applications
    2. Sequence
      1. variables and their scope, operators, arithmetic and logic operators, input and formatted output
    3. Selection
      1. binary (if)
      2. multi-way (if-else-if)
    4. Repetition
      1. pre-test (for, while)
    5. 1-dimensional array/list algorithms
      1. Sorting
      2. Searching
  3. Modularity
    1. Methods
      1. parameters
      2. return value type
      3. exception handling
      4. overloading
    2. Libraries
      1. user defined
      2. pre-defined API
    3. Class Objects and Abstract Data Types
      1. File I/O with sequential ASCII text files
      2. Looping techniques for multi-dimensional arrays.
      3. User Classes
        1. Data members, static and non-static
        2. Methods
          1. Constructors
          2. Mutators/Setters
          3. Getters

VII.  Methods of Instruction

Lectures, class discussion, individual and group projects, and use of a computer laboratory. Course may be taught as face-to-face, hybrid or online course.
Course may be taught as face-to-face, hybrid or online course.

VIII. Course Practices Required

Reading of the text is required for a solid understanding of the material. Use of a computer laboratory is necessary to learn the design of software and practice programming.

IX.   Instructional Materials

Note: Current textbook information for each course and section is available on Oakton's Schedule of Classes.

X.    Methods of Evaluating Student Progress

Quizzes, written homework, computer assignments, major examinations and a final examination will be used.

XI.   Other Course Information

If you have a documented learning, psychological, or physical disability you may be entitled to reasonable academic accommodations or services. To request accommodations or services, contact the Access and Disability Resource Center at the Des Plaines or Skokie campus. All students are expected to fulfill essential course requirements. The College will not waive any essential skill or requirement of a course or degree program.

Oakton Community College is committed to maintaining a campus environment emphasizing the dignity and worth of all members of the community, and complies with all federal and state Title IX requirements.

Resources and support for
  • pregnancy-related and parenting accommodations; and
  • victims of sexual misconduct
can be found at

Resources and support for LGBTQ+ students can be found at

Electronic video and/or audio recording is not permitted during class unless the student obtains written permission from the instructor. In cases where recordings are allowed, such content is restricted to personal use only. Any distribution of such recordings is strictly prohibited. Personal use is defined as use by an individual student for the purpose of studying or completing course assignments.

For students who have been approved for audio and/or video recording of lectures and other classroom activities as a reasonable accommodation by Oakton’s Access Disabilities Resource Center (ADRC), applicable federal law requires instructors to permit those recordings. Such recordings are also limited to personal use. Any distribution of such recordings is strictly prohibited.

Violation of this policy will result in disciplinary action through the Code of Student Conduct.