Computer Science Logistics, Function Evaluation, Runtime Environments, and Memory Diagrams

Logistics, PR Assignments, and Course Policy

  • Upcoming Assignments:

    • Space Paints (Wave Point or Calculation):

    • Due: Friday at 9:00 PM.

    • Context: Serves as a direct follow-up to PR 6 and acts as a stepping stone toward the next major programming assignment focused on 3D drawing in space.

    • Assignment Structure: Divided into two parts:

      • Part 1: Features a simple structure with a shorter turnaround time.

      • Part 2: A longer, open-ended creative assignment requiring students to construct their own changing space.

    • Release Schedule: Expected to be released tomorrow (with a possibility of releasing tonight).

  • Preparation Reading (PR) Assignments Policy:

    • PR assignments may or may not have reading components assigned.

    • Purpose: Designed to test student understanding of core concepts when transitioning to new dimensions of programming.

    • Format Variation: Formats vary by assignment and may include:

    • Solely multiple-choice conceptual questions.

    • Diagram submissions (e.g., creating and uploading memory diagrams).

      • Id starts at 0: function 1 is id:0, function 2 is id:1, etc

      • Heap: id and fn lines

      • Stack: function name L id

      • Globals: separated by line to indicate new function call, establish the innermost function first

        • Return address: line number where the function is called, use bookmarks to remember

        • Return value: value of within a particular function

        • Parameter value: name of parameter and the value

      • Output: what exactly is outputted

    • Coding exercises submitted to an autograder (partially written during class or implemented independently).

    • Standard Schedule: Typically due at 9:00 PM the night before the next scheduled lecture, unless explicitly stated otherwise.

Computer Science Major & Application Guidelines

  • Major Application Admission Policy:

    • The Computer Science department currently admits all students who fulfill the minimum application requirements.

    • Minimum Requirement: Earning a grade of C or better in all required introductory coursework.

    • The application process is non-selective and non-competitive; eligible students meeting the threshold are guaranteed entry into the major.

  • Historical Background and Departmental Capacity:

    • The formal application system was originally instituted several years ago due to instructional capacity constraints that prevented the department from serving all students and graduating them on time.

    • Significant expansion of faculty has expanded capacity, allowing the department to effectively accept every qualified applicant.

  • Application Timing and Prerequisites:

    • Students submit their major application after completing or while currently enrolled in COMP 210 (Data Structures).

    • Prerequisite Coursework for Admission:

    • COMP 110 (Introductory Programming).

    • COMP 210 (Data Structures).

Python Functions: Parameters, Expressions, and String Manipulation

  • Evaluating Function Call Expressions:

    • Arguments supplied to a function call expression can be literal values or expressions that require evaluation prior to executing the function body.

    • Example Function Definition and Call Analysis:

    • Parameter signature: Function fluffy accepting parameters s (string), i (integer index), and h (integer index).

    • Function Call Expression: `fluffy(