ITE 115: Program Logic and Design with Python

Course Description

In this course, students will learn the foundational logic for developing software applications. Topics will include data types, variables, I/O and associate formatting, data containers, functions and libraries, decisions, repetition, files and an introduction to classes and OOP. Skills will be reinforced using numerous coding exercises. Python will be the primary learning language used on convey the fundamentals. (3 credits)

Prerequisite

  • CSS 101: Cybersecurity Fundamentals

Student Learning Outcomes (SLOs)

Students who successfully complete this course will be able to:

  1. Achieve a proficiency level where the individual can articulate and demonstrate the advantages of using Python as a scripting language, including its key features and benefits.
  2. Attain the ability to independently design and implement Python applications, demonstrating a clear understanding of Python programming principles and best practices.
  3. Demonstrate proficiency in effectively utilizing lists, tuples, and dictionaries in Python programs, showcasing the ability to manipulate and manage data using these data structures.
  4. Develop the capability to accurately identify and work with different Python object types, showcasing a deep understanding of the language's dynamic typing system.
  5. Attain proficiency in employing indexing and slicing techniques to efficiently access and manipulate data within Python programs.
  6. Master the skill of structuring Python programs effectively, including the proper organization of components, modules, and code layout.
  7. Demonstrate the ability to write loops and decision statements in Python, showcasing effective control flow and logic implementation.
  8. Achieve proficiency in writing functions and effectively passing arguments, showcasing the ability to modularize code and promote code reusability.
  9. Acquire the skills to build and package Python modules, ensuring they are structured and documented for seamless integration and reuse in different projects.
  10. Demonstrate proficiency in reading from and writing to files in Python, showcasing the ability to manage data persistence and retrieval.
  11. Develop the ability to design object-oriented programs using Python classes, demonstrating a sound understanding of encapsulation, inheritance, and polymorphism.
  12. Exhibit proficiency in utilizing class inheritance for code reuse and extension in Python, showcasing the ability to create and manage class hierarchies.
  13. Attain the skill of implementing effective exception handling in Python applications, showcasing the ability to identify, handle, and manage errors gracefully.

Course Activities and Grading

AssignmentsWeight
Discussions (Weeks 1-8)

6%

Quizzes (Week 1)

9%

Labs (Weeks 1-8)

85%

Total

100%

Required Textbooks

Available through Charter Oak State College's Book Bundle

  • Zelle, John. (2017). Python progamming : an introduction to computer science. 3rd ed. Oregon: Franklin, Beedle & Associates, Inc. ISBN-13: 9781590282755

 

Course Schedule

Week

SLOs

Readings and Exercises

Assignments

1

1, 2, 4

Topic: Introduction to Python, Datatypes and Program Structure

  • Readings:
    • Introduction to Software Engineering - Modules 1-6
  • Review Getting Started information
  • Review course syllabus
  • Read assigned material
  • Review the lecture material
  • Participate in the Discussions
  • Submit the Week 1 quizzes and labs

2

1, 3

Topic: Input and Output

  • Readings:
    • Chapters 1, 2, and 3 
    • Programming in Python - Module 1
  • Read assigned material
  • Review the lecture material
  • Participate in the Discussions
  • Submit Week 2 labs

3

5

Topic: Operators and Decisions

  • Readings:
    • Chapter 7
  • Read assigned material
  • Review the lecture material
  • Participate in the Discussions
  • Submit Week 3 labs

4

3, 5

Topic: Lists, Dictionaries, Sets Strings, and Tuples

  • Readings:
    • Chapter 5 - Sections 5.1-5.8
    • Chapter 11 - Sections 11.1-11.3, and 11.7
  • Read assigned material
  • Review the lecture material
  • Participate in the Discussions
  • Submit Week 4 labs

5

7

Topic: Repetition

  • Readings:
    • Chapter 8
  • Read assigned material
  • Review the lecture material
  • Participate in the Discussions
  • Submit Week 5 lab

6

6, 8, 9

Topic: Functions, Scope and Modules

  • Readings:
    • Chapter 6 
    • Chapter 3 - Section 3.3
  • Read assigned material
  • Review the lecture material
  • Participate in the Discussions
  • Submit Week 6 lab

7

11, 12

Topic: Introduction to Classes

  • Readings:
    • Chapter 10
  • Read assigned material
  • Review the lecture material
  • Participate in the Discussions
  • Submit Week 7 lab

8

10, 13

Topic: Files and Exceptions

  • Readings:
    • Chapter 5 - Section 5.9
    • Chapter 7 - Sections 7.4 
  • Read assigned material
  • Review the lecture material
  • Participate in the Discussions
  • Submit Week 8 labs

COSC Accessibility Statement

Charter Oak State College encourages students with disabilities, including non-visible disabilities such as chronic diseases, learning disabilities, head injury, attention deficit/hyperactive disorder, or psychiatric disabilities, to discuss appropriate accommodations with the Office of Accessibility Services at OAS@charteroak.edu.

COSC Policies, Course Policies, Academic Support Services and Resources

Students are responsible for knowing all Charter Oak State College (COSC) institutional policies, course-specific policies, procedures, and available academic support services and resources. Please see COSC Policies for COSC institutional policies, and see also specific policies related to this course. See COSC Resources for information regarding available academic support services and resources.