General Information, Spring 2017

About the class

CSE 232 is the second programming course, intended for CS majors or those interested in a more in-depth look at programming. It begins by introducing the C++ language and the Standard Template Library (STL), using the latest elements added by the c++-11 standards, and moves on to working with more advanced data structures and algorithms.

In general, the idea is to learn to use the available power as provided by C++ and the STL, and then dive into the details of how we can implement those data structures and algorithms ourselves.

Topics

Roughly speaking, the class will be divided into two halves:

  • Learning C++ and the STL, applying it to some practical examples.
  • Building our own data structures and algorithms (managing memory, templates, etc.).
Some topics we cover are: selection and iteration, strings, functions, other data structures (vectors, string, maps etc.), File I/O, generic algorithms and user defined classes.

Class Policies

This Policies Document are some of the rules and regs for cse232. Read them!!!

Syllabus

The schedule, readings and Exam schedule are listed at the bottom of this document. A Syllabus is also available.

Weekly Work Schedule

We are trying something new this semester. We are creating a directory for each week that contains all the work for the week: the laboratory assignment, the project assignment (if there is one), the lectures, the examples and a proto version of a book for the class, 1 chapter at a time, plus some short videos on the topic of each week.

If you need to know what is going on for the week, you simply look for the current week (which is announced each week in the Current News section), to see what the schedule for this week is.

In this way we think we can keep students better on track this way.

Schedule Information

Lab Schedules

Each section (check the schedule for your section number) has an lab meeting once a week. You are required to attend the lab session. You can miss only two lab sessions without penalty!!

Lab section times and information about the TA in charge can be found on the lab section .

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:

In this course we will follow a set of conventions regarding how we name variables, functions and constants in our programs, how we indent, etc. While coding rules tend to be arbitrary, choosing one allows for consistency in an organization. We will choose to use the Google Coding standards (hey, why not) as applicable. We won't use all of it, but you can always look there and find the answer for proper standards.

Other Class Stuff

Previous Exams

Sample Exams are also available.

Other Stuff

Accessing your account

The CSE department has a list of things to keep in mind the first time you log in to your account.

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.

Tutoring

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

Week Date Day Topic Lab  Project Readings
Assigned Assigned
1 10-Jan Tue Getting Started Lab 00 Homework Setup, Unix
12-Jan Thur Types
2 17-Jan Tue Expressions Lab 01 Proj 01 2.1-2.2, 4.1-4.5, 4.11.1
19-Jan Thur Control 5.1-5.5, skip 5.4.3
3 24-Jan Tue Functions I, more types Lab 02 Proj 02 6.1-6.3
26-Jan Thur More Types 2.3-2.5
4 31-Jan Tue More Functions, templates I Lab 03 Proj 03 6.4-6.5, 16.1.1
2-Feb Thur Strings, strstreams 3.1-3.2, 8.3
5 7-Feb Tue Vectors, Iterators Lab 04 Proj 04
and Random Numbers 3.3-3.4, 17.4
9-Feb Thur IO/File Stream 8.1-8.2
6 14-Feb Tue Catchup Lab 05 Proj 05
Night Exam , Wed 2/15/2016 , 6pm, ANH 1281
16-Feb Thur Post Exam1 
7 21-Feb Tue Generic Algorithms Lab 06 10.1-10.2, 10.4-10.5
23-Feb Thur Maps 11.1-11.4
8 28-Feb Tue Classes I Lab 07 Proj 06 2.6, 7.1-7.1.3
2-Mar Thur Classes II 7.1.4, 7.5 
9 Spring Break
10 14-Mar Tue Classes III Lab 08 Proj 07 7.1.5, 13.1, 14.1-14.5
16-Mar Thur Arrays 3.5-3.6
11 21-Mar Tue Dynamic Memory Lab 09 Proj 08 12.1-12.2
23-Mar Thur Class Templates 16.1-16.3
12 28-Mar Tue Catchup Lab 10 Proj 09
Night Exam , Wed 3/29/2016, 6pm, ANH 1281
30-Mar Thur  Post Exam2
13 4-Apr Tue Big Oh Lab 11
6-Apr Thur Linked Lists I
14 11-Apr Tue Linked Lists II Lab 12 Proj 10
13-Apr Thu Recursion 
15 18-Apr Tue Trees Lab 13 Proj11
20-Apr Thur Trees II
16 25-Apr Tue Catchup
27-Apr Thur  Review