next up previous
Next: About this document ...

Computer Science 13001 CS-I Programming and Problem Solving
Sections 005 and 006
Call Numbers 12121 and 22010
COURSE SYLLABUS
Spring 2014
Michael Rothstein
Kent State University
College of A&S, Dept of Computer Science
Phone 330-672-9065
Email: rothstei at cs.kent.edu
Dates: January 13 to May 2, Final 5:45-8 PM, Monday, May 5
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:
  1. Learn a form of reasoning, or problem solving, called Computational Thinking.
  2. Learn what a computer can do and the primitive operations it can perform.
  3. Learn what an algorithm is and learn to design, develop and test some algorithms.
  4. Learn a subset of a certain programming language called C++ This subset includes:
    1. loops
    2. if then-else and branching
    3. looping
    4. functions, procedures and their use for program design.
    5. call by value vs. call by reference
    6. arrays
    7. file I/O
    8. strings
    9. structures
    10. classes
    11. pointers and dynamic memory allocation
    12. objects with dynamic members (lists, vectors, exceptions, templates)
    13. 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:
  1. 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.
  2. 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.
  3. 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
  4. For help with Blackboard, there is a collection of PDF files you can look at http://www.kent.edu/is/resources/elearning/student.cfm
  5. There is a good C++ reference at http://www.cplusplus.com/
  6. 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:
  1. A DSL or cable connection to the Internet; dial-up is not sufficient.
  2. 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:
  1. One of Windows 7 (or better), or Mac OS X 10.6 or 10.7 or Linux 2.6.32 (or better).
  2. An office suite; Microsoft Office, Open Office or Libre Office. The two latter options are available as part of the open software movement.
  3. An Antivirus; For Windows OS, Microsoft Security Essentials, for the Mac OS X, Sophos; for Linux, no antivirus is necessary.

  4. 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):
  1. Early departure (if announced and done discreetly: please sit near the door so that as few people as possible notice.)
  2. Late arrival
  3. 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.
  4. Conversation among students.
  5. 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:

  1. I have the option of penalizing cheating in this course with an ``F'' in the course.
  2. University regulations require me to notify Student Conduct in case of violations.
  3. 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.




next up previous
Next: About this document ...
Michael Rothstein 2014-04-16