CS1337.004 Computer Science I
CS1337.009 Computer Science 1
Tuesday/Thursday from 2:30 to 3:45 PM
Monday/Wednesday from 10:00 to 11:15 AM
Instructor: John Cole Section 004 Room ECSS 2.312
Section 009 Room RH West 2.401

Grader Section 004: Chennu, Shiva Ganga
Grader Section 009: Kondrolla, Manasa Rao

Last update: 1/20/2017
Syllabus is on Coursebook Schedule for section 004 (Subject to change)
Schedule for section 009 (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, since the material will be freshest in your memory.  Since the ECSS 2.312 classroom has computers, you can also follow along on one of them, but don't store anything permanent on their C: drives.  Also, do not let trying things out distract you from the lecture.  You can also use the VideoNotes and the MyProgrammingLab exercises associated with the textbook.

This class will move fairly quickly through the material you should have learned either in CS1336 or in high school.  If you took Java, you will find C++ syntactically pretty similar, but there are real differences.  We'll do a lot of programming, and I'll show PowerPoint slides in class as well as writing actual code.  By the end of the semester you will have a real working knowledge of C++ and some basic programming concepts.

Take a look at Notes for Students, but let me say a few things here.  I will expect that you show up for class.  I will take attendance, but it will not be figured into your grade.  I expect that when you are in class,  you will pay attention to whoever is speaking, whether it is me or a student.  Use of cell phones is not permitted.  You may be called upon to answer a question; be alert and ready.

I will use Microsoft Visual Studio and will show my examples using it.  You do not need to use it if you are already comfortable with some other programming environment.  If you do get Visual Studio, get the 2015 version, or at least the 2013 version.  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 2015 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


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

Problem Set for Classes and Recursion
These are from the Gaddis book, eighth edition.  They should be similar in the seventh edition.

Chapter 14: More About Classes Under Short Answer: 2, 3, 4, 10, 17, 18, 21, 24.
Under Algorithm Workbench: 39, 43
Under Find the Errors: 59, 61
Programming Challenges: 1, 5, 14, 15
Chapter 15: Inheritance Short Answer: 2, 4, 6, 7, 8, 10, 17
Algorithm Workbench: 35, 36
Find the Errors: 53, 54, 55, 58
Programming Challenges: 1, 4, 6, 9, 10
Chapter 16: Exceptions Short answer: 1, 2, 3, 4, 5, 6, 7
Algorithm Workbench: 24, 25
Find the Errors: 47, 48
Programming Challenges: 1, 2
Chapter 19: Recursion Short Answer: 3, 4, 5
Algorithm Workbench: 10, 11
Predict the Output: 12, 13, 14
Programming Challenges: 2, 6, 9