CS1337.003 Computer Science I Tuesday/Thursday from 2:30 to 3:45 PM
Instructor: John Cole Room ECSS 2.412

Teaching Assistant: Sumit Sharma  If you need to e-mail an assignment, send it to him. Also, tutors are available in the lab.

Last update: 2/7/2013
Syllabus Schedule (Subject to change)
Textbook: Starting out With C++: From Control Structures Through Objects, 7th Edition, by Tony Gaddis
This is the introductory C/C++ programming class for Computer Science majors, which also teaches object-oriented design.

I strongly suggest that, when we cover a concept in class, such as loops or arrays, you take a little time as soon as possible after the class to write a little "play" program to make sure you understand.  You can also use the VideoNotes and the MyProgrammingLab exercises associated with the textbook.

You will need to be able to use Microsoft Visual Studio, preferably version 2012 although 2010 will work fine.  The lab computers have this loaded.  If you want a personal copy, you have two choices.  The Express Edition is a free limited product that will be fine for everything you do in this course.  Once you're at the link, on the right you'll see either "install now" or "download now."

Because you are a computer science student at UTD, you can also get the full version of Visual Studio 2012 through DreamSpark.com, although this is a little more complicated.  You'll need to sign up for an account.

Exam Rules

Useful links:
C++ Tutorial: http://www.learncpp.com/
My Programming Lab

Homework Assignments:
Assignment 1: Three small programs.  Due 1/31/2013.
Assignment 2: Quadratic Equations Due 2/13/2013

Assignment 3: Magic Squares Due 2/26/2013

In-Class Notes.  This will be used for notes made using Notepad, for program fragments, etc.

// Allocate a dynamic square array.
int *square = new int[order * order];

// Code to compute linear position given row
// and column.  "Order" is the number of rows
// and columns for the square, but in the
// general case, it would be the number of
// columns.
*(square + row * order + col)  = number;
Lesson 1 slides
Lesson 2 slides
Lesson 3 slides
Lesson 4 slides
Lesson 5 slides
Lesson 6 slides
Lesson 7 slides
Lesson 8 slides
Lesson 9 slides: Pointers
Lesson 10 slides: Strings
Lesson 11 slides: Structured Data
Lesson 12 slides: Intro to Classes
Lesson 14 slides: More on Classes
Lesson 15 slides: GUI Programming
Lesson 19 slides: Recursion
Rectangle.h
CS1Rectangle.cpp
main.cpp