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.
Roughly speaking, the class will be divided into two halves:
The schedule, readings and Exam schedule are listed at the bottom of this document. A Syllabus is also available.
We have created 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 and the examples, 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.
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 .
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.
Sample Exams are also available.
The college of Engineering Department of Engineering Computing Services (DECS) runs the lab and maintains the sofware you will be working with. They maintain a support page that can answer many of your questions.
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 232.
|0||29-Aug||Getting Started||Lab 00||1.1-1.3|
|1||3-Sep||Types/Expressions||Lab 01||Proj 01||2.1-2.2, 4.1-4.5, 4.11.1|
| || ||Arithmetic Ops|| |
|2||10-Sep||Control||Lab 02||Proj 02||5.1-5.5, skip 5.4.3|
| || || |
|3||17-Sep||Functions||Lab 03||Proj 03||6.1-6.3|
|4||24-Sep||Characters, STL||Lab 04||Proj 04||3.1-3.2, 9.5|
|5||1-Oct||More Functions, Templates||Lab 05||Proj 05||6.4-6.5|
|Exam||Thur, 4-Oct||7pm, 1281 ANH|
|6||8-Oct||Header Files||Lab 06||2.6, 6.1|
|7||15-Oct||String Streams, Exceptions||Lab 07||Proj 06||8.3, 5.6, 18.1|
|8||22-Oct||Generic Algorithms, Lambdas||Lab 08||Proj 07||Chap 10|
|9||29-Oct||Object Oriented Programming||Lab 09||Proj 08||15.1|
|Structs, constructors||7.1, 7.5|
|10||5-Nov||Classes II||Lab 10||Chap 7|
|Exam||Fri, 9-Nov||7pm, 1281 ANH|
|11||12-Nov||Arrays||Lab 11||Proj 09||3.5-3.6|
|12||19-Nov||Classes, Dynamic Memory||Lab 12 (online)||Proj 10|
|no lab meetings this week|
|lab12 online for everybody!|
|13||26-Nov||Linked Lists||Lab 13|
|Big Oh||Proj 11|