General Information, Summer 2018

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

A summary of the Course Policies can be found at the provided link.

Syllabus

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

Weekly Work Schedule

We have created a directory for each week that contains all the work for the week:

  • the pre-laboratory assignment on d2l, due by Thur midnight (all sections)
  • the laboratory assignment (due Friday at 5pm for 730 section students)
  • the current project assignment
  • lecture notes
  • a list of short videos on the topics of the 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 twice a week on Tuesdays and Fridays. 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 .

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 Stuff

Accessing your account

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.

FAQ

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

Tentative Schedule

SessionDateTopicReadings
Lecture 0114-MayIntro1.1-1.3
Lab 0015-MaySetup
Lecture 0216-MayTypes/Expressions2.1-2.2, 4.1-4.5, 4.11.1
Lecture 0317-MayControl5.1-5.5, skip 5.4.3
Lab 0118-MayDirectory Nav / Basic IO
Lecture 0421-MayFunctions / More Types2.3-2.5, 6.1-6.3
Lab 0222-MayMoving Files
Lecture 0523-MayPointers
Lecture 0624-MayStrings3.1 to 3.2, 9.5
Lab 0325-MayIntegration Approx
28-MayMemorial Day / No Class
Lab 0429-MayPipes
Lecture 0730-MayParameters / File IO6.4-6.5, 8.1-8.2
Exam 131-MayMidterm
Lab 051-JuneDebugger
Lecture 084-JuneHeader Files / Vectors2.6, 6.1, 3.3
Lab 065-JuneVector Ops
Lecture 096-JuneString Stream / Exceptions8.3, 5.6, 18.1
Lecture 107-JuneIterators9.2, 10.4
Lab 078-JuneDebugger
Lecture 1111-JuneGeneric Algorithms / Lambdas10.1-10.6
Lab 0812-JuneWildcards
Lecture 1213-JuneClasses15.1, 7.1, 7.5
Exam 214-JuneMidterm
Lab 0915-JunePrivate Elements / Table
Lecture 1418-JuneMore Classes7.1-7.6
Lab 1019-JuneCompiler Options
Lecture 1520-JuneArrays / Dynamic Memory3.5-3.6, 12.1-12.2
Lecture 1621-JuneClass Templates16.1-16.2
Lab 1122-JuneNamespaces
Lecture 1725-JuneSorting / Linked Lists
Lab 0226-JunePointer Manipulation
Lecture 1827-JuneBig-Oh / Trees
Exam 328-JuneFinal