- Course Overview
- The goal of the course is to familiarize the students with programming in a
high-level object-oriented language (C++) while studying the main constructs
of C++. The students will learn to translate algorithms into correct programs
as well as to debug, document and maintain the code.
The C++ constructs covered include: conditional and loop statements,
functions, arrays, pointers, object classes, dynamic memory allocation. Time
permitting we will also study standard template library and inheritance.
- Course Organization
- This course will be taught ina ``reverse lecture'' format; the lectures will
be prerecorded and available on Blackboard; we will meet in the classroom to
discuss and expand on the lectures; your homework for each lecture will be to
listen and understand the lecture, and do the assigned exercises.
- Time and Place:
- Monday, Wednesday, 5:30 - 6:45 PM in room 102 MSB;
Lab: Section 005, Tuesday 5;30-7:25 in room 139 MSB
Lab: Section 006, Thursday 5;30-7:25 in room 139 MSB
- Instructor:
- Michael Rothstein, office 268 MSB, phone 330-672-9065.
- Email address:
- rothstei at cs.kent.edu or mrothste at kent.edu ;
please do not send mail to both at once; I'll simply get it twice and think it
is spam! (Substitute @ for `` at '')
Best way to reach me is through email at the cs.kent.edu address or during my
office hours.
I recommend you email me directly; you can also use Blackboard email, since
that reaches me directly also.
I will try to answer email within 24 hours, with priority given to cs or
Blackboard email.
However, please do not count on an instant response; I may be otherwise
occupied.
- Instructor's Web address:
- http://www.cs.kent.edu/~rothstei
This website
will contain a copy of this syllabus.
- Please Note:
- The syllabus may be changed during the semester if necessary: changes will be
announced; they will also show up on Blackboard and the instructor's website.
- Office Hours:
-
Monday, Wednesday 12:00-2:00
Also, you can always send email with questions and/or to
set up an appointment. I try to answer email within 24 hours, with priority
given to cs email. Email use is to be preferred over voice-mail, which will
not be checked as often.
- Course Goals:
- There are several goals to this course:
- Learn a form of reasoning, or problem solving, called Computational
Thinking.
- Learn what a computer can do and the primitive operations it can
perform.
- Learn what an algorithm is and learn to design, develop and test some
algorithms.
- Learn a subset of a certain programming language called C++
This subset includes:
- loops
- if then-else and branching
- looping
- functions, procedures and their use for program design.
- call by value vs. call by reference
- arrays
- file I/O
- strings
- structures
- classes
- pointers and dynamic memory allocation
- objects with dynamic members (lists, vectors, exceptions, templates)
- multidimensional arrays and vectors of vectors
- Some advice:
This course will require a lot of extra work; just like a language is only
learned with practice, a programming language and programming itself, can
only be learned with lots of practice. Courses similar to this have earned a
tough course reputation because of the time required and the high fail
rate. I recommend you
devote at least about 10 to 12 hours of weekly work to this course. Of course,
if you get behind, these hours will add up, to the point where there will not be
enough hours! (For example, if you are carrying 15 hours, that would mean
that you need about 48 hours a week of study; if you goof off a couple of
weeks, that will add up to a staggering 72 hours!)
- Textbook:
- Savitch, Walter J. Problem Solving With C++ Addison-Wesley, 2011,
Eigth Edition, ISBN: 9780132162739.
- Other useful resources:
- There are several resources on campus that will enable you to have more
success in this course:
- For issues related to system software, Blackboard or software
downloaded from the University Website, please contact the University
Helpdesk at (330)-672-HELP (330-672-4357) or at their website:
http://support.kent.edu;
they are there to help you.
- For help with the course, there is help in the form of tutors from the
Computer Science Department and from the College. However, your instructor
will be more than happy to help you through any difficulties you may have
with course. In particular, the office hours are there
for that purpose.
- For issues related to the Hermes or Loki servers, or the C++ language
and compilers, try the tutors, or, if they cannot help, the instructors or
the systems staff at systems at cs.kent.edu or (330)-672-9006
- For help with Blackboard, there is a collection of PDF files you can
look at
http://www.kent.edu/is/resources/elearning/student.cfm
- There is a good C++ reference at
http://www.cplusplus.com/
- Finally, if you need technical help with your computer, the kindly folks
at the TechSpot in the Tri-Towers Rotunda, 330-672-TECH (8324) x 2 can help
you. You can usually just walk in.
- Other necessary materials:
- Students new to Kent State University should review Information Service's
Technology Viewbook.
A personal computer with Internet access is required:
- A DSL or cable connection to the Internet; dial-up is not sufficient.
- Your desktop/laptop should have at least a 2 GHz processor and 2 GB of RAM.
You should have one of the following operating systems and
additional software installed on your computer:
- One of Windows 7 (or better), or Mac OS X 10.6 or 10.7 or Linux 2.6.32 (or
better).
- An office suite; Microsoft Office,
Open Office
or
Libre Office. The two latter options are available as part
of the open software movement.
- An Antivirus;
For Windows OS, Microsoft Security Essentials,
for the Mac OS X, Sophos;
for Linux, no antivirus is necessary.
- If you are trying to access campus information from outside campus, you will
need the campus VPN; you can download that from the University Helpdesk
http://support.kent.edu.
Contact the Helpdesk if you need help with this item.
- University Prerequisite:
- The prerequisite for this course is the same mathematical background you need
for Calculus 1.
- Other Prerequisites:
- You need to be able to use a computer, to use the web, to download programs
and use them. You will not be able to progress in the course without these
skills.
- Attendance policy:
- In this course, your are expected to log into the Blackboard learning
management system to listen to lectures, come to class to do exercises and
discuss the lectures, and go to the labs to do the labs. Attendance will be
measured by the degree of participation in all three activities.
All actions by students in the Bb Learn LMS can be tracked. At any time during
the course, an instructor may generate a report that indicates when and how
long individual students have been logged into the LMS, or engaged with course
materials or course tools.
Students who anticipate an absence from the online course due to technical or
medical reasons should consult with the instructor individually. An absence
due to illness or injury requires verification from a medical professional and
should be presented to the instructor.
Also, by initiative of the Provost of the University, I have been charged with
keeping full attendance records, at least for the first ten weeks of the
semester. Though I will not compute these records into your final averages,
when I assign letter grades, I will give you a slightly better grade if
you have a better attendance record.
Notwithstanding the above, if you are absent, there may be material created,
either spontaneously or in response to questions, and covered in the
classroom; often there will not be any written notes of this material, so it
might be a good idea to team up with somebody who keeps good notes to make sure
you have all the material covered. Some of this material may show up in an exam
- Class disruptions:
- Disruptions should be kept to a minimum; these include (in increasing order of
seriousness):
- Early departure (if announced and done discreetly: please sit near the
door so that as few people as possible notice.)
- Late arrival
- Use of electronic devices or other devices which may interfere with
your or other student's participation. Laptops are acceptable for taking
notes, however, please sit in the last row of the room so that your screen
does not distract/block other students.
- Conversation among students.
- Aiding and/or abetting these or any other student's disruptive behaviors.
Guidelines pertaining to class disruptions are outlined in
Chapter 4 of the University Policy Register
in section 4 - 02.2.
- Lab:
- This course has a mandatory lab associated with it.
Lab attendance is required.The lab has a different instructor and
details on how the lab is conducted will be given in the lab meetings. The
lab instructor gives the lab scores to the lecture instructor. You must pass
both the lab and the lecture part of the course to pass the course.
The lab grade is worth 30% of the total grade
- Grading:
- Your grade will be based on periodic exercises, quiz grades, two
midterms, one final, and assorted programming exercises assigned as homework.
The weights are:
Class Discussions |
10% |
Quizzes (the total) |
20% |
Midterm (February 26) |
20% |
Final (5:45-8 PM, Monday, May 5) |
20% |
Lab |
30% |
All quizzes and exams will be comprehensive. This includes the final.
- Grading scale:
- I will assign number grades during the session
and only convert them to letter grades when I turn them in at the end
of the session. No decision can be made regarding a conversion table
until the very last minute due to such imponderables as test difficulty, class
participation, etc. which will influence the grade. However,
I guarantee the following, worst case, table:
97-100 |
will convert into an A |
94-96 |
will convert into at least an A- |
91-93 |
will convert into at least a B+ |
88-90 |
will convert into at least a B |
85-87 |
will convert into at least a B- |
82-84 |
will convert into at least a C+ |
79-81 |
will convert into at least a C |
76-78 |
will convert into at least a C- |
73-75 |
will convert into at least a D+ |
66-72 |
will convert into at least a D |
- University Policies
- Students are required to be aware of and follow all general and academic
policies established by Kent State University. A list of the general academic
policies is listed on the online version of the
Kent State University Catalog
.
- Special accommodations for Students with Disabilities:
- University
policy 3342-3-01.3 requires that students with disabilities be
provided reasonable accommodations to ensure their equal access to course
content. If you have a documented disability and require accommodations, please
contact the instructor at the beginning of the semester to make arrangements
for necessary classroom adjustments. Please note, you must first verify your
eligibility for these through Student Accessibility Services (contact
330-672-3391 or visit: http://www.kent.edu/sas
for more information on registration
procedures).
Blackboard Learn accessibility statement:
http://blackboard.com/Platforms/Learn/Resources/Accessibility/WebCT-Accessibility.aspx
- Registration Requirement:
- University policy requires all students to be officially registered in each
class they are attending, by the deadline published for the course.
The official registration deadline for this course is
Jan 26, 2014. Students who are not officially
registered for a course by published deadlines should not be attending classes
and will not receive credit or a grade for the course. Each student must
confirm enrollment by checking his/her class schedule (using Student Tools in
FlashFast) prior to the deadline indicated. Registration errors must be
corrected prior to the deadline.
The last withdrawal date for this course is March 23, 2014.
- On cheating, plagiarism and other unethical behavior:
- You are encouraged to discuss class problems with other students
but required to work independently of anybody else
except the instructors and/or tutor, unless otherwise indicated.
All midterm and exam work must be done independently.
Copying other people's work, allowing your work to be copied (even
inadvertently!) and plagiarizing work will not be tolerated and
will be dealt with according to University regulations. For more information,
see the University policy statement on cheating
Notes:
- I have the option of penalizing cheating in this course with an ``F'' in the course.
- University regulations require me to notify Student Conduct in case of violations.
- Cooperation is just as bad as the deed itself: so, deciding
which of two is the original is a non-issue: both are equally guilty.