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 MC 2.410

Grader Section 004: Lipi Patel
Grader Section 009: Sai Vamsi Muvva

Last update: 11/6/2015
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 this classroom has computers, you can also follow along on one of them, but don't store anything permanent on their C: drives.  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, and computers are to be used only for classwork.  You may be called upon to answer a question.  You will need your Clicker, since there may be impromptu questions that can be answered with it. 

You will need to be able to use Microsoft Visual Studio, preferably version 2015 or 2013, although 2012 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 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