CSE 231 is an introduction to programming, using Python. Students will learn about the design, implementation and testing of programs to solve problems primarily in engineering, mathematics and science. The emphasis is data manipulation using real-world, practical examples.
Some topics we cover are: selection and iteration, strings, functions, other data structures (lists, dictionaries, tuples etc.), File I/O, user defined classes. See the Course Topics
The project descriptions can be found on the projects page. Project deliverables can should be submitted to Handin before their respective submission deadlines.
All the lab materials (instructions and requisite files) can be found in the lab exercises area. Lab section times and information about the TA in charge can be found on the lab section schedule
Information about helproom hours, as well as TAs responsible for Online Piazza Discussions can be found at the helproom page.
Thou shalt follow the CSE 231 Coding Standard in all work done for CSE 231.
In this course we will follow a set of conventions regarding how we name variables, funcitons and constants in our programs. Read the naming conventions for more information regarding how these things are named.
Looking for the lecture slides? Look no further than the lecture archive. There are some awesome Videos as well. Worked out worksheets are available in the lectures directory.
The class code examples can be found on Class Code Examples .
Sample Exams are also available. (Exams prior to Fall Semester 2012 use Python 2, but many of the concepts are transferable.)
This class uses the online discussion forum Piazza to foster collaborative learning and discussion.
If you don't have Python on your system, then look at How to get Python
The CSE department has a list of things to keep in mind the first time you log in to your accound.
Both the CSE department and MSU have put together guides to accessing MSU systems from outside of the EB and MSU computer labs.
The FAQ has answers to the questions lots of students ask.
The MSU Learning Resource Center offers tutoring for a variety of classes, including CSE 231.
| Week | Tu | Topic | Th | Topic | Text Readings | |
|---|---|---|---|---|---|---|
| 1 | 01/08 | Overview | 01/10 | Beginnings | Chapters 0 & 1, & Appendix A | |
| 2 | 01/15 | Control: Selection | 01/17 | Control: Repetition | Chapter 2 | |
| 3 | 01/22 | More on Control | 01/24 | Intro to Data Structures: Strings | Chapters 2 & 3 | |
| 4 | 01/29 | More Strings | 01/30 | Intro to Functions | Chapters 4 & 6 | |
| 5 | 02/05 | More on Functions | 02/07 | Files & Exceptions | Chapters 6 & 5 | |
| 6 | 02/12 | Intro to Lists | 02/14 | Exam 1 | Chapter 7 | |
| 7 | 02/19 | Lists, tuples & mutability | 02/21 | More on Functions | Chapter 8 | |
| 8 | 02/26 | Intro to Dictionaries | 02/28 | Dictionaries & Sets | Chapters 9 & 10 | |
| SPRING BREAK | ||||||
| 9 | 03/12 | Intro to Classes | 03/14 | More Classes | Chapters 11 | |
| 10 | 03/19 | More Classes | 03/21 | More Classes & Scope II | Chapter 12 | |
| 11 | 03/26 | Intro to Inheritance | 03/28 | Exam 2 | Chapter 12 | |
| 12 | 04/02 | More on Inheritance | 04/04 | Overloading | Chapters 12 & 13 | |
| 13 | 04/09 | More on Overloading | 04/11 | Files & Exceptions II | Chapter 14 | |
| 14 | 04/16 | More on Exceptions | 04/18 | Computer Organization | Chapters 14 & 0 | |
| 15 | 04/23 | Recursion | 04/25 | Course Summary | Chapter 16 | |