else do you need to know about this
Joe Bentley / Winter 2018
What is the goal of this course?
is an intermediate programming course. You are here because
have made a commitment to learning C++ beyond an introductory
level. Upon “successful” completion you will have attained
marketable programming skills. You will be of value as a
programmer. Since this course is an intermediate level class,
will get less “hand holding” than you did in the introductory course
(CIS22A). You will be expected to solve more problems on your
own, you will be expected to debug your own code, and you will be
expected to research functions and techniques on your own.
What happens in the class?
lectures per week, an hour and 50 minutes, with a 10-minute
break. Each lecture will contain new material. The
will contain concepts and examples, on the board, on web page examples,
developed “live”. There is a lab exercise assigned with each
lecture. Assignments will often be discussed in
There is one midterm and one final. And there is time to ask
questions. If you ask questions, then, most likely, you are
involved and you have some basic understanding of what is going on
this course you will be writing a lot of code. You will be
compiling all the code you write. It is essential that you
acquire a compiler immediately. The instructor can assist
installation. You can use any standard, not-too-old C++
compiler. You can work on any computer type, PC, Mac, Linux,
Unix, Chrome Book, desktop, laptop, Windows (7/8/10). The ATC
computer lab works great and there are different compiler options
available. A laptop is good. If you bring it to class, you
try out the examples presented in class. Compiler
suggestions: Code::Blocks, NetBeans, MS Visual C++ (2010 or
later), the gnu compiler, Eclipse. Compiling on a Mac is not
recommended. Recommended compiler:
Code::Blocks on a
PC. It is easy to use and does a good job of enforcing the
Online time will be held on Wednesdays, 5:00-6:15 pm. This
time will be used to review topics
covered in class, to answer questions, to discuss assignments, to work
exercises and practice problems, and to explore related topics in more
detail. The online time will be held online using the
interactive software, CCC Confer. The instructor will be
on, speaking through a webcam and sharing his desktop to answer
questions and provide demonstrations. You may ask questions using your
microphone or a chat box. Login instructions for CCC Confer:
Go to www.cccconfer.org
Select Join a Class or
Locate your meeting and select Connect
• Email source code. Check your
code before sending it. Once received, it will be graded.
• In the email, use CIS22B / Ass# as the
email subject (where # is the assignment number.
• Add the source code as an
attachment. Name it ass#.cpp (where # is the assignment
• Add comments to the top of your source
code including your name, the assignment #, and the compiler used.
If you want to ask a question about the assignment, make sure
is clear that you are asking a question, otherwise, it will be
graded. Do not ask to have your assignment checked before you
• The code will be compiled and tested
using either Code::Blocks or NetBeans on Windows or Linux. If
your code does not compile and run with the instructor’s compiler, it
will not be accepted.
• Assignments are due at
the beginning of the class lecture on the due date specified.
Assignments will be accepted late with a 5 point penalty if they are
received within 24 hours of the due date. After that time,
will not be accepted.
• You are encouraged to work
on assignments by yourself. Copying of assignments will
a zero grade for both students. The instructor is available
answer questions and provide assistance.
• You may
get help with assignments using email, office hours, or online
time. There is a maximum limit of 6 email questions per
assignment. If you have more questions than that, you need a
• Start a new email for each lab
• In the email, use CIS22B / Ex# the
email subject (where # is the exercise number).
• Add the source code as an
attachment. Name it ex#.cpp (where # is the exercise number).
• Check your code before sending
it. Once received, it will be graded.
If you are asking a question about the exercise, make sure it
clear that you are asking a question. Otherwise, it is
that you are submitting it for grading. Do not ask to have
exercise checked before you submit it.
• Add comments to your source code
including your name, the assignment #, and the compiler used.
• The code will be compiled and tested on
either Code::Blocks or NetBeans running on Windows or Linux.
• Lab exercises are due at the beginning
of the next lecture. Lab exercises are not accepted late.
The code will be compiled and tested using either
NetBeans on Windows or Linux. If your code does not compile
run with the instructor’s compiler, it will not be accepted.
You are encouraged to work on exercises by
Copying of exercises will result in a zero grade for both
students. The instructor is available to answer questions and
CodeLab exercises are not required. You will be given extra
credit points for the exercises that you complete.
• These are web page exercises.
They are free if you are enrolled in the class.
• You must set up your account
• The web page address for CodeLab is
• Use access code: DEAN-26078-UUKK-35
You may ask for help on any CodeLab exercise. You
on-line time, office hours, or email to ask for help
• Your CodeLab extra credit points (10
maximum) will be determined by the percent of exercises completed.
If you want an A, learn to …
• work independently, but write code for
• debug your code
• write test cases
• test your code as you proceed
• ask yourself, "what if ..."
• write functions to solve a specific task
• write reusable code
• reuse code
• write tight code
• write efficient code
• write self-documenting code
• write neat code
• read code
• use a second, or third compiler
textbook is a good one. The 8th edition of the textbook is
acceptable for this class. You are advised to read the
following the schedule listed in the syllabus. Some class
examples may be taken from the textbook.
The class web pages
There will be updates to the class web pages.
browser if you are viewing a web page a second time.
• Lecture notes web pages will be updated
on the weekend before the lectures.
The Midterm and Final
are timed. You will be permitted one page notes (both sides
the paper). Preparing this page of notes is a good way to
for the test.