Skip to content

Latest commit

 

History

History
44 lines (43 loc) · 3.35 KB

takeaway.md

File metadata and controls

44 lines (43 loc) · 3.35 KB

Possible changes for next time:

  • At the moment, most students come having seen C and/or Java in one of the basic CSE courses.
    • So maybe we can just formalize this; make them required and build the course around that.
    • Or, make the new DSC10 a formal prerequisite, and shorten the Python unit.
    • Hybrid: require one of CSE5A (C), CSE7 (Matlab), CSE8A (Java), or DSC10 (Python). Corequisite should be fine too.
  • More structured version of the week 1 survey. (Use Google Docs to get a spreadsheet.)
    • For programming languages (C/C++, Java, Matlab, Python): ask to choose between
      • never used before
      • seen it used in a class that was primarily about something else (e.g., Matlab in Math 18)
      • had a class primarily based on this
      • familiar with it beyond the level of a class.
  • Consider dropping the 20D prerequisite. It was mostly there as a holdover from 152, and also to keep the enrollment under control; but I waived it several times anyway.
    • Alternative: make use of it by adapting the 20D MATLAB material.
  • Deploy an instrument to assess learning gains (e.g., SALG). This will require defining more clearly the educational goals of the course.
    • Expose students to some of the conceptual difficulties in translating abstract mathematics into concrete computation.
    • Teach students not just about individual software systems, but also the meta-skill of mastering a new software system from scratch.
    • Provide a pedagogical laboratory for the math department, in which technological innovations can be tested on a small scale before being considered for wider deployment.
  • Make a formal list of conceptual topics to be treated.
    • Recursive versus nonrecursive functions
    • Numerical (in)stability in linear algebra
    • Modular exponentiation using repeated squaring
    • Intermediate complexity implosion in linear algebra over Q
  • Formalize the meta structure of a typical problem set.
    • First 2 problems are simply testing recall of lecture.
    • Next 2 problems are further exploration of the software.
    • Last 2 problems are exploration of conceptual issues.
    • For later in the course, when the problems get harder, maybe give only 5 problems instead of 6.
  • See about getting CoCalc to provide some tools for interactivity in lecture (a la iClicker).
  • Introduce pandas in the Python unit, since it is pretty easy and can then be used later for examples and exercises. (Possible downside: its syntax is not consistent with the rest of Python.)
  • Fill in more details in the graph theory unit, perhaps expanding it to 3 lectures.
  • Find a way for the course grader not to appear as a collaborator on student projects (reported to CoCalc).
  • Additional technologies to look into (may not yet be supported by CoCalc):
    • RISE
    • nbgrader
    • tutormagic
  • Restructure homework assigments:
    • Given the nature of programming assignments, one per week may be too many. Maybe shift to biweekly assignments due in weeks 2, 4, 6, 8, 10.
    • In the off weeks, do some sort of in-class assessment, like a "concept quiz".
  • Define the course focus more narrowly.
    • Rename the course to "Python for Mathematics".
    • Edit the course syllabus to focus more specifically on mathematical computation.
    • Specifically exclude data science, statistics, and machine learning, as these are covered in Math 189.
  • Consider using Piazza in addition to, or in conjunction with, the chat room.