Course Description

CS105 is an introduction to basic concepts and applications in Computer Science. Emphasis on an understanding how a computer "thinks" through algorithms, data manipulation, and simple programs. Application of computation-based tools such as spreadsheets and databases. Intended for non-engineering majors.
Although you will learn how to program, more importantly you will learn how to think and design your logic such that it could be implemented in any language (C,C++,Java, Ruby, JavaScript, Go, Perl, Python, Swift, .. it never ends). Learning a new language ('to program') is much easier than learning how to design software (software engineering).

Topics Covered

  • Core Concepts
    • CS Architecture Layers: Hardware, Software, bits & bytes
    • Networking/Internet Technology
    • Security and encryption
    • HTML/web app architecture
  • Programming
    • Overview of an algorithm
    • Constructs: functions, variables, conditionals, and looping
    • Expressions and Operands
    • Abstraction and function calls
    • Data Structures, Arrays, Objects
    • searching, and sorting
  • Data Use and Manipulation
    • Data Conversion: XML, CSV, TXT, and others
    • Data Manipulation
    • Excel functions: SUMIF, VLOOKUP, etc
  • Data Visualization
    • Excel visualizations
    • JSON data representation, d3.js

Languages and Tools

  • Scratch
  • Microsoft Excel
  • JavaScript
  • HTML / CSS
  • d3.js (if time)

Required Materials


Exams

There is one midterm exam and one comprehensive final exam. The final exam is during the University-scheduled time slot during finals week.

Conflict exams will be available for students that have a conflict as outlined in the student code. Conflict exam sign-ups will start about two weeks before the exam and end one week before the exam date.

Midterm Exam

Monday, March 13, 2017
4:00pm - 6:00pm
Location: Foellinger Aud.

Final Exam

Date: Wed, May 10th (05/10/2017)
1:30pm - 4:30pm
Location: Foellinger Aud.
Conflict: Tues. May 9th (8:00 am)
All requests made via email one week before

Grading

Attendance

10%

Attendance is mandatory in both Lectures and Labs.
Midterm and Final will include questions regarding in-class/lecture activities.
  • You can drop your lowest 2 activites.
  • Activities will earn you attendance points.
  • Lab Submissions can earn you attendance points.
  • Volunteering will earn you attendance points.
  • Tweeting can earn you attendance points.
  • Submitting in-class forms or polls will earn you attendance points.
  • Signing an attendance sheet(if you can't tweet, forgot your computer in-class) will earn you attendance points.

Lab Submissions

20%

Allowed to drop lowest 2 LABS (and Labs only) (medical issues, family emergencies, religious obligations, etc)
Use Excel Gradebook to replace lowest LAB score (so you can drop 3 total)

7-11 MPs

30%

Allowed to drop 1 MP if we have an extra credit MP (and you complete it). OR if we get over 10 MPs during the semester.

Midterm

20%

Final

20%

Xtra Credit

In general, extra credit does not spill over into helping boost other areas -- it can only help you achieve 100% in that area. So 120% credit in labs, will not help boost exam or MP scores.
Lab: Some labs will offer +1 points
MPs: Some MPS will offer +1 early submission points
MPs: If we have more than 10 MPs, 1 MP can be used to replace the worst/missing MP

Course Grade

Your final course grade will be determined on the following scale:

Points Earned Final Grade Points Earned Final Grade Points Earned Final Grade
97+A+ 93-96.9A 90-92.9A-
87-89.9B+ 83-86.9B 80-82.9B-
77-79.9C+ 73-76.9C 70-72.9C-
67-69.9D+ 63-66.9D 60-62.9D-
Let's not go hereF

Deadline Policy


Late Policy

Only MPs will be considered for late grading. You must contact your specific LAB TA for late grading. You can earn at most 80% of late grade. After 7 days after the deadline, work will not be accepted for grading (unless arranged before the deadline).

Late Exams (i.e. conflict exams) taken without prior consent and without approproate notice (see below), will be graded at 80% as well.

But I am SICK
A visit confirmation letter from McKinley Heath Center (or other health centers) does NOT excuse you from work. You must get an absense letter from the Office of Dean of Students. Even if you have your own Dr. sign a note, that note must be validated from the Dean of Students.


Lab Policy

Each student must attend the lab for which s/he signed up.


Social Integrity

The great thing about cs105 is the diversity of the students. In this class we will be using several on-line tools for communication and collaboration. We hold everyone accountable for treating each other with respect. There's no tolerance for any dishonorable content. If you have a concern about a student, instructor or TA, you can contact the course coordinator.

Do not share solutions to course assignements through any means. Share help and advice (see next section).


Academic Integrity

Cheating is taken very seriously in CS 105 and all cases of cheating will be brought to the University, your department, and your college. You should understand how academic integrity applies to Computer Science courses. Note that the recommended sanctions for cheating on a programming assignment includes a loss of all points for the assignment and that the final course grade is lowered by one whole letter grade.

With the exception of the final project and labs, your work in this class must be your own. This means that:

The only acceptable way to help a friend with CS 105 is to be in the same place looking at their computer screen and allowing them to type.

Additionally, you are responsible for protecting your work. In the past, we had cases of copying solutions from other students without their knowledge. To avoid having your work copied without your knowledge: