CSE 231 Introduction to Programming I (4 cr: 3 lecture + 1 lab)

Catalog Course Description

Introduction to programming using Python. Design, implementation and testing of programs to solve problems such as those in engineering, mathematics and science. Programming fundamentals, functions, objects, and use of libraries of functions.

Course Outcomes
(Letters refer to program outcomes; caps indicate greater emphasis.)

There are two broad goals for this course:

The course outcomes in more detail are:

  1. (Fundamentals) Students will learn general programming concepts, as well as a modern programming language that employs those concepts. (a,I)
    1. Students will learn the fundamentals of a programming language.
      (such as language-defined data types (int, float, bool, str, list, tuple, dictionary, and set), programmer-defined classes, control constructs (sequence, selection, repetition), program modules (including functions, modules, methods ) )
      1. (Knowledge & Comprehension) Be able to recall the fundamental components of the programming language studied in the course.
      2. (Application) Given an algorithm a student will be able to formulate a program that correctly implements the algorithm.
    2. Students will learn a programming environment.
      1. (Application) Students will be able to demonstrate that they can effectively use the programming environment used in the course.
  2. (Problem solving) Students will design, implement and test readable Python programs to solve problems. (C,I,k)
    1. Create algorithms to solve problems. As part of creating a solution, extend the programming language with new statements (functional abstraction) and new types, abstract data types (ADTs).
      1. (Application) Students will create programs that use functional and data abstraction.
        Given a problem students will be able to select an appropriate existing ADT or function, e.g. from a package; or create a new, appropriate ADT, function, or package.
    2. Write programs that use functions and ADTs.
      1. (Application) Given a set of functions and ADTs, possibly in a package, students will be able to develop an algorithm to solve a problem and implement the algorithm.
  3. (Teamwork) Students will work in teams of two to solve problems in lab sessions. (d)

Program Outcomes covered in CSE 231

(a)
An ability to apply knowledge of computing and mathematics appropriate to the discipline
(c)
An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
(d)
An ability to function effectively on teams to accomplish a common goal
(i)
An ability to use current techniques, skills, and tools necessary for computing practice
(k)
An ability to apply design and development principles in the construction of software systems of varying complexity

Assessment

Assessment of how well outcomes are being achieved will be done by applying a rubric to a random sample of at least 25% of the students who have completed the work being used for assessment. Assessment tools are examinations and programming projects. For each outcome being assessed, each student in the sample will be judged to (a) exceed, (b) meet, or (c) fail to meet an objective standard designed to assess this outcome. Unless otherwise specified the thresholds used are: meet (70%), exceed (85%). We will say that this offering of the course achieved the particular outcome if and only if 70% or more of the students sampled were assessed to be in categories (b) or (c).

Topics

Textbook

Grading