#### Course Description

This course serves as an introductory programming course for mathematics majors. Basic programming techniques for solving problems typically encountered by mathematicians will be developed. The course covers basic procedural techniques such as algorithms, variables, input/output, data types, selection, iteration, functions, and graphing. Good programming and commenting practices will be emphasized.

#### Instructor

Cesar Aguilar, South Hall 325A

#### Office Hours

Tue 8:30-9:30, 10:45-11:45

Thu 10:45-11:45

#### Class Meetings

Tue & Thu, 9:30-10:45, South Hall 336

#### Software

64-bit graphical installer

#### Final Exam

Tuesday, December 19, 3:30-6:00PM, South Hall 336

#### Textbook and Resources

- Automate the Boring Stuff with Python

This is the main textbook - Udemy Course
- Python Essentials Labs
- Whirlwind Tour of Python (good book)
- Python Data Science Handbook (good book)
- Official Python Tutorial

#### Student File Upload

### Latest

The current week content will be displayed here during the semester. For now, see the Schedule tab.

### Homework

Title | Due Date | Week No. |
---|---|---|

Homework 0 - Using Python | Sep 1, 2023 | 1 |

Homework 1 - Data Types and Math Operators | Sep 8, 2023 | 1 |

Homework 2 - Booleans and if-elif-else | Sep 19, 2023 | 3 |

Homework 3 - Loops | Sep 28, 2023 | 4 |

Homework 4 - Functions | Oct 17, 2023 | 5 |

Homework 5 - Lists | Oct 24, 2023 | 6 |

Homework 6 - More with Lists | Nov 3, 2023 | 7 |

Homework 7 - Dictionaries | Nov 13, 2023 | 8 |

Homework 8 - More with Strings | Nov 14, 2023 | 9 |

Homework 9 - Reading and Writing Files | Nov 21, 2023 | 10 |

Homework 10 - More with Files | Nov 29, 2023 | 11 |

Homework 11 - NumPy | Dec 12, 2023 | 12 |

Homework 12 - Basic Plotting | Dec 19, 2023 | 13 |

### Schedule

**Topics:**Booleans, if Statements

**Textbook Videos:**

**Sep 04**Labor Day: No Classes

**HW DUE**HW 1→DUE: Sep 08

**Topics:**Functions, Scope, Errors

**Read:**Chapter 3

**Textbook Videos:**

- Importing Modules (Ignore material on installing modules and the pyperclip module)
- Defining Functions
- Global and Local Scope
- Catching Errors
- Guess the Number Game
- More Function Basics with Mosth

**HW DUE**HW 3→DUE: Sep 28

**HOMEWORK**HW 4→DUE: Oct 17

**NEXT WEEK**Test 1 on Oct 3, 9:28 AM – 10:45 AM

**Topics:**Lists, Tuples

**Textbook Videos:**

- Lists
- Looping Over Lists
- List Methods
- More List Basics with Mosh
- More List Methods with Mosh
- More Tuples with Mosh

**HOMEWORK**HW 5→DUE: Oct 24

**TEST 1**Oct 3, 9:28 AM – 10:45 AM

**Topics:**More with Loops, Lists, and Conditionals

**Oct 09-10**Fall Break: No Classes

**HOMEWORK**HW 6→DUE: Nov 03

**Topics:**Dictionaries

**Read:**

- Textbook - Chapter 5
- Dictionaries in Python - realpython.com

**Textbook Videos:**

**HW DUE**HW 4→DUE: Oct 17

**HOMEWORK**HW 7→DUE: Nov 13

**Topics:**More on Python Strings

**Read:**

- Textbook - Chapter 6
- Strings in Python - realpython.com

**Textbook Videos:**

**HW DUE**HW 5→DUE: Oct 24

**HOMEWORK**HW 8→DUE: Nov 14

**Topics:**Reading and Writing Files

**Read:**

- Textbook - Chapter 9
- Reading and Writing Files - realpython.com

**Data files:**

**Textbook Videos:**

**HW DUE**HW 6→DUE: Nov 03

**HOMEWORK**HW 9→DUE: Nov 21

**Topics:**More with Files and Data

**Read:**

- Textbook - Chapter 9
- Reading and Writing Files - realpython.com

**Data Files:**

**Textbook Videos:**

**HOMEWORK**HW 10→DUE: Nov 29

**Topics:**NumPy - Arrays, Matrices

**Read:**Python Essentials Lab 3

**Instructor Videos:**

**HW DUE**HW 7→DUE: Nov 13

**HW DUE**HW 8→DUE: Nov 14

**HOMEWORK**HW 11→DUE: Dec 12

**Topics:**Numerical Integration

**Instructor Videos:**

- Review of Riemann Sums (watch first)
- Coding Examples

**HW DUE**HW 10→DUE: Nov 29

### Syllabus

#### Learning Outcomes

Upon successful completion of MATH 230 - Programming, a student will be able to:

#### Grading Scheme

Below is the **tentative** course grading scheme. The grading scheme may change during the semester at the discretion of the instructor. Any changes to the grading scheme will be announced in class before the final exam. **If homework assignments are done in groups, then a student must achieve a passing grade in all individual assessments (e.g., tests and final exam) to pass the course.**

Item | Percentage |
---|---|

Homework | 10 |

Tests | 40 |

Final | 45 |

Labs | 5 |

Grade | Percentage |
---|---|

A | 94-100 |

A− | 90-93 |

B+ | 87-89 |

B | 83-86 |

B− | 80-82 |

C+ | 77-79 |

C | 73-76 |

C− | 70-72 |

D | 60-69 |

E | < 60 |

#### Tests and Exam

There will be 3-4 tests scheduled evenly throughout the semester. The final exam is scheduled for Tuesday, December 19, 3:30-6:00PM, South Hall 336. The final exam will be cumulative, that is, any topic covered in the course could be tested in the final exam. **There will be no make-up for a missed test or final exam under any circumstances.** If a student misses a test and can present evidence of an extenuating circumstance then the weight of the missed test will be redistributed to the final exam weight. Having the cold or flu is not an extenuating circumstance. Examples of extenuating circumstances include a medical emergency, a serious prolonged illness, or the death of a member of your immediate family.

#### Homework

There will be approximately 10-12 homework assignments throughout the semester. You will be given approximately 5 days to submit your solutions to the homework problems. Homework solutions should be written in Python using a .py file extension and your .py file should be uploaded using the file upload link. I encourage you to collaborate with your colleagues on your assignments/labs but your final submitted work should be your own (see Academic Dishonesty statement below).

#### Textbook and Resources

There are two recommended textbooks for the course: Automate the Boring Stuff with Python and Think Python. Both textbooks are free. I will primarily reference the first book (Automate the Boring Stuff with Python) and you may want to enroll in the Udemy Course that accompanies the textbook. The first 15 videos of the course can be found on YouTube. To view the remaining videos you would need to enroll in the Udemy course.

#### Technology

We will be using the general purpose programming language Python for this course. Download and install Python here.

#### Office Hours and Math Learning Center

I encourage you to come to my office (South Hall 325A) whenever you are having trouble with any part of the course material, seeking academic advice, or you just want to chat about mathematics in general. If you want to meet with me outside of my office hours, you will need to make an appointment, preferably via email. I also encourage you to visit the Math Learning Center located in South Hall 332 where you can receive free tutoring on a walk-in basis by highly qualified upper level students. Access to in-person office hours and to the MLC will depend on social distancing guidelines set by the College.

#### Email Communication

I will do my best to reply to student email regarding the logistics of the course within 24 hours during the working week (Mon-Fri). However, due to the potential large volume of emails, inquiries regarding homework problems and/or specific course content should be made during office hours or after class.

#### Academic Dishonesty and Plagiarism

Please read, and follow, Geneseo's Academic Dishonesty and Plagiarism policy. Below is the definition of plagiarism and its consequences as described in SUNY Geneseo's Academic Dishonesty and Plagiarism statement:

Plagiarism is the representation of someone else's words or ideas as one's own, or the arrangement of someone else's material(s) as one's own. Such misrepresentation may be sufficient grounds for a student's receiving a grade of E for the paper or presentation involved or may result in an E being assigned as the final grade for the course.

If there is sufficient evidence of academic dishonesty on a homework assignment, **all** students involved will receive a zero score on the homework assignment and I will provide the department chairperson, the dean of academic planning and advising, and the student(s) with a written report of the violation, the penalty imposed and the counseling provided to the students involved. A second instance of academic dishonesty on a homework assignment will result in a final grade of E for the course for all students involved. Academic dishonesty on a test/final exam will result in a final grade of E for the course.

#### Academic Accommodations

SUNY Geneseo is dedicated to providing an equitable and inclusive educational experience for all students. The Office of Accessibility (OAS) will coordinate reasonable accommodations for persons with disabilities to ensure equal access to academic programs, activities, and services at Geneseo.

Students with approved accommodations may submit a semester request to renew their academic accommodations. Please visit the OAS website for information on the process for requesting academic accommodations.

**Questions? Contact the OAS by email, phone, or in-person:**

Office of Accessibility Services

Erwin Hall 22

585-245-5112

access@geneseo.edu