CS 161 - Introduction to Computer Science I

Fall 2017: MWF 11 - 11:50am, GILB 124

Syllabus

Office Hours - 2101 KEC

Class Information

Textbook Resources

Additional Textbook References

Author(s): Gaddis T., Walters, & Godfrey (2014)
Name: Starting out with C++ : early object, 8th Edition
Publisher: Boston, MA: Addison-Wesley.
Digital ISBN: 978-0133449198
Paperback ISBN: 978-0133360929

Author(s): Schildt, H. (1998)
Name: C/C++ Programmer's Referenc, 3rd Edition
Publisher: Berkley, CA: Osborne McGraw Hill
Digital ISBN: 0-07-213293-0
Paperback ISBN: 0-07-882476-1

Author(s): Savitch, W. (2012)
Name: Absolute C++ W/ MyProgrammingLa, 5th Edition
Publisher: Boston, MA: Addison-Wesley
Digital ISBN: 978-0132846578
Paperback ISBN: 978-0132989923

Author(s): Dale, N. & Weems, C. (2009)
Name: Programming and Problem Solving with C+, 5th Edition
Publisher: Jones & Bartlett Publishers
Paperback ISBN: 978-0763771560

Prerequisites

MTH 112* [C] or Placement Test MPT(33) or Placement Test MPAL(061)

Course Description

Overview of fundamental concepts of computer science. Introduction to problem solving, software engineering, and object-oriented programming. Includes algorithm design and program development.

Course Content:

Course Objectives

  1. Design and implement programs that require
    1. various control statements involving selection and repetition
    2. expressions with variables, constants, function calls, pointers, and arithmetic/relational operators with mixed data
    3. arrays, strings, and other data structures
    4. library functions and programmer-defined functions with parameter-passing by value and by reference
    5. abstraction, modularity, separation of concerns
    6. use of the object-oriented programming model
  2. Debug programming syntax and run-time errors.
  3. Produce recursive algorithms, and choose appropriately between iterative and recursive algorithms.
  4. Describe and apply basic software engineering design principles and software quality factors.

A detailed description and time-line of the topics covered in this course can be on the calendar page. This calendar is strictly a guide for the course. It is tentative and subject to change. You can find the topics covered in the daily lectures in slides posted on the calendar page, and the assignments with their corresponding actual due dates are located on the assignments page.

Attendance Policy

About My Courses

  1. BE PROACTIVE, don't be reactive!!!
  2. BE RESPECTFUL, no one is perfect. Programming is difficult, and everyone in the class comes with different skills. The brain is a muscle and needs a work out in this area. You weren't born programming, you learned with practice. Please read the document on establishing a positive community.
  3. HAVE A GROWTH MINDSET!!! Everyone around you does not know more than you:) On the other hand, you do not know everything!
  4. "For every teacher there are two learners." This is a learning environment for all skills. You can learn from helping others.
  5. ACTIVE LEARNING! I need YOU to participate.
  6. "...it is far more honorable to fail than to cheat."
  7. "The task of the modern educator is not to cut down jungles but to irrigate deserts."

Grade Evaluation Scores for labs, recitations, assignments, and exams will be posted on Canvas as they are graded.

Labs - 10%

Recitation Exercises - 20%

Assignments - 30%

  • Demo Outside 2 Weeks: Assignments that are not demo'd within the acceptable time period will be subject to a 50 point deduction.
  • Demo Late Assignments: Late assignments must still be demoed within the two week demo period beginning from the assignment's due date.
  • Missing a Demo: If you miss your demo with a TA, you will receive a 10 point (one letter grade) deduction to that assignment for each demo missed. If you need to reschedule a demo, remove your name from the poll before rescheduling!!! If you need to reschedule the day of your demo, still remove your name from the poll and email your demo TA with subject CS 161 Cancel Demo.
  • If you have a problem with an assignment grade, you must contact your TAs through EMAIL within ONE WEEK of receiving your grade. After one week, you will not be able to dispute your grade.
  • Remember to use your TAs because they are the ones who execute, read, and grade the assignments.

Exams - 30% (15% each exam)

  • The are 2 total exams for this course.
  • The exams are true/false and multiple-choice, and they will be given during lecture time.
  • A student must notify the instructor BEFORE the exam to schedule a make-up.

Final Exam- 10%

  • There will be a cumulative final exam.
  • The final exam may include any combination of programming, written work, and explanation of existing code.
  • A student must notify the instructor BEFORE the final to schedule a make-up.

Proficiency Demo (Ability to Keep a Passing Grade (C or above)!)

  • You will take a pass/fail live proficiency coding demo during the lab in week 10.
  • There will be a practice demo given in week 5 with material from the first half of the class. In the practice demo, you will be scored on a pass/almost/no-pass score to give you feedback on where you stand in the class.
  • If you do not have a passing grade in the class (below C), then failing the proficiency demo cannot hurt your grade because you are not expected to be proficienct (C or above) in the class to move forward. However, if you have a passing grade in the class (C or above),then you are expected to pass the proficiency demo to keep your passing grade in the class, i.e. you cannot receive higher than a C- without passing the proficiency demo.
  • Do not freak out!!! If you have a passing grade for your assignments and YOU have been the one to do the work, then you should be able to pass the proficiency demo program.
  • A student must notify the instructor BEFORE the final demo to schedule a make-up.

Grading Scale

Grade Average
A 93 or greater
A- 90 - 92
B+ 87 - 89
B 83 - 86
B- 80 - 82
C+ 77 - 79
C 73 - 76*
C- 70 - 72
D+ 67 - 69
D 63 - 66
D- 60 - 62
F less than 60

* REMINDER: A passing grade for core classes in CS is a C or above. A C-, 72 or below, is not a passing grade for CS/ECE majors.

Academic Dishonesty

I encourage students to work together and learn from one another on labs and assignments. However, I do expect you to turn in your OWN work for every assignment. Assignments are NOT paired-programming, and all assignments are checked for similarities with others in the class, prior class assignments, and work published online!!! Working with someone does not include copying someone else's work and changing a small amount of that work, such as variable names, comments, spacing, etc. During group assignments you and your partners may turn in one assignment per group with everyone's name attached. Working together is discouraged on exams and the final. At NO point should you copy work from the internet, and if you do copy material from an external resource, then you need to cite the resource and author(s). Paying someone to complete you work is unacceptable and will result in immediate referral to the university!!! Cheating and plagiarism are not taken lightly!

You will receive a zero on your first abuse of these rules, and in the case of shared work, the student sharing the work and the student copying the work will both receive zeros. In addition, the academic dishonesty charge will be documented and sent to your school's dean and the Office of Student Conduct. The bottom line is: Each student is expected to understand all aspects of the programs s/he submits for credit!!!

Please, read the university dishonesty policy:

OAR 576-015-0020 (2) Academic or Scholarly Dishonesty

Students with Disabilities

"Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations."

Students with documented disabilities who may need accommodations, who have any emergency medical information the instructor should be aware of, or who need special arrangements in the event of evacuation, should make an appointment with the instructor as early as possible, and no later than the first week of the term. Class materials will be made available in an accessible format upon request.

Religious Accommodation of Students Policy

Oregon State University recognizes a diverse group of students, and the university accommodates diverse religious holidays. Please read the policy on religious accommodations for students:

religious_accomodations