General Information, Spring 2013

About the class

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.

Topics

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

Syllabus

Class Syllabus

Assignment Stuff

Projects

The project descriptions can be found on the projects page. Project deliverables can should be submitted to Handin before their respective submission deadlines.

Labs

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

Helproom

Information about helproom hours, as well as TAs responsible for Online Piazza Discussions can be found at the helproom page.

The Rule of Coding:

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.

Class Stuff

Lectures and Videos

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.

Examples

The class code examples can be found on Class Code Examples .

Exams

Sample Exams are also available. (Exams prior to Fall Semester 2012 use Python 2, but many of the concepts are transferable.)

Getting help

This class uses the online discussion forum Piazza to foster collaborative learning and discussion.

Getting Started

If you don't have Python on your system, then look at How to get Python

Accessing your account

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.

FAQ

The FAQ has answers to the questions lots of students ask.

Other Stuff

Tutoring

The MSU Learning Resource Center offers tutoring for a variety of classes, including CSE 231.

Course outcomes
The publisher's page for the textbook: text programs, etc.

Tentative Schedule

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