Module 1 Objective Mapping

Thomas J. Kennedy

1 Module Objectives

The first module introduces students (i.e, you) to the course as a whole. While the material and discussions prepare you for the semester… Module 1 and its objectives focus purely on the administrative details of the course.

# Module Objective 1 2 3 4 5 6.A 6.B 7.A 7.B 8 9 10 11 12 13 14 15
1 Explain the Syllabus.
2 Explain the importance of Office Hours.
3 Explain the importance of questions.
4 Summarize the structure of this course.
5 Summarize the structure of an assignment prompt.

2 Lectures & Objectives

The following table shows lectures (rows) vs Module Level Objectives (columns).

Lecture 1 2 3 4 5
Module 1 Objective Mapping
CS 263: Syllabus (Fall 2023 (Development))
Communications - General Guidance
Review Course Structure, Objectives, and Requirements
Canvas Overview & Navigation
Support
Meet the Instructor
The Beginning
Office Hours
Assignment Prompt Structure
Module 1 Summary

3 Course Level Objectives

The course objectives are listed in section 2.4 of the syllabus and reproduced in this document for reference.

A student who successfully completes this course will be able to (in Python):

  1. Run a program consisting of a single file and containing a main function.
  2. Run a program consisting of multiple modules and containing a main function.
  3. Organize code into multiple modules.
  4. Write tests for a module.
  5. Apply the basics of test-driven development through PyTest and/or unittest.
  6. Make use of the various loops (for and while)
    1. Compare the various loops (for and while)
    2. Choose the most appropriate loop (for or while) for a given problem
  7. Make use of the conditional blocks (i.e., if, if-else, and if-else-if-else).
    1. Compare the various conditional blocks (i.e., if, if-else, and if-else-if-else)
    2. Construct the appropriate conditional block (i.e., if, if-else, and if-else-if-else) for a given problem.
  8. Test and write functions.
  9. Design ADTs in accordance with the Class Checklist.
  10. Discuss when polymorphism is appropriate.
  11. Discuss when it is appropriate to utilize dataclasses, classes, and enums.
  12. Write code that utilizes dunder functions.
  13. Refactor code to follow best practices (e.g., PEP 8 and PEP 20).
  14. Apply code linting tools (e.g., pylint and black) to write idiomatic (Pythonic) code.
  15. Discuss the various NumPy np.array mechanics (e.g., broadcasting).