Mar 19, 2024  
2021-2022 Course Catalog 
    
2021-2022 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CIS 289 - Python II

Credits: 3
Lecture Hours: 2
Lab Hours: 2
Practicum Hours: 0
Work Experience: 0
Course Type: Voc/Tech
In this course, students will get the opportunity to build on their existing Python knowledge and explore some more advanced concepts that demonstrate the power of this popular development language.
Prerequisite: CIS 189  with a minimum grade of C- 
Competencies
  1. Build projects that integrate with open source databases
    1. Create a program that stores output in a database
    2. Create a program that utilizes data from a database
    3. Apply CRUD operations (create, replace, update, delete) on a database from Python
  2. Utilize popular Python data analytics libraries to analyze datasets and draw conclusions about the data
    1. Make use of data frames, arrays in analyzing dataset
    2. Apply statistics to find useful results from datasets
  3. Create consumable visuals of data utilizing popular Python data visualization libraries
    1. Construct graphs and charts from Python
    2. Experiment with different ways to make visualizations more appealing and consumable
  4. Investigate data structures for efficient numerical computing
    1. Identify the differences between the Python list and array-like data structures used in numerical libraries
    2. Demonstrate indexing and slicing of N-dimensional arrays
    3. Utilize methods for array conversion, shape manipulation and item selection
  5. Create web outputs utilizing popular Python libraries
    1. Construct simple HTML web pages using available web frameworks
    2. Create an interactive data visualization in HTML
  6. Incorporate the use of web APIs in Python development
    1. Discuss RESTful Web Services
    2. Implement a REST client
    3. Develop a server application that provides a REST endpoint
  7. Apply the concepts of threading and multiprocessing
    1. Explain the difference between threading and multiprocessing in Python
    2. Demonstrate an understanding of the value and uses of multiprocessing
    3. Use the multiprocessing library to reduce the execution time of an algorithm on a multi-core processor
  8.  Build programs that are capable of working with large datasets by utilizing generators
    1. Create a program that includes a generator function
    2. Apply generators to analyze a large data file
    3. Demonstrate an understanding of the value and uses of generators
  9. Design code using the “Pythonic” style
    1. Write a program that utilizes wrapping instead of inheritance
    2. Design a program that includes dependency injection
    3. Utilize factories in a program
    4. Demonstrate understanding of duck typing and monkey patching and their pros and cons.

Competencies Revised Date: 2020



Add to Portfolio (opens a new window)