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
-
Piazza, Twitter
-
Microsoft Excel
- Windows: Microsoft Excel 2016 (Older versions are not supported!)
- Mac: Microsoft Excel 2016 (Older versions are not supported!)
- Both Windows and Mac versions of Office are available at a student discount from the CITES WebStore
- OpenOffice, Google Docs, Numbers, or other spreadsheet tools are not supported! Sorry.
-
USB Drive. If you don't have a computer that you can personally use during the duration of the course, you MUST buy and use a USB drive to save all your work you do on LAB machines (or other). Forgetting to save or losing your files/data is not an excuse. Backup your work (even if you do own your own computer).
-
No textbook is required. All text will be through online readings.
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 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.
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)
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.
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.9 | A |
90-92.9 | A- |
87-89.9 | B+ |
83-86.9 | B |
80-82.9 | B- |
77-79.9 | C+ |
73-76.9 | C |
70-72.9 | C- |
67-69.9 | D+ |
63-66.9 | D |
60-62.9 | D- |
Let's not go here | F |
| |
| |
Deadline Policy
- Activities: due 3:00 pm on Mondays
- Labs: due by the end of your designated lab
- MPs: due by 3:00 pm Mondays
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:
-
Your work must be entirely completed by your own hands. This means that all of the code that you submit that
is part of your solution must be typed by you.
-
As a result, this means you must never send your solution to a friend, even just for them to "look at it".
We consider the act of sending a solution to a friend the same as copying a solution. (Sending a text message with a screenshot
of your code is sending your solution.)
- Posting of working/partial solutions to LABS, MPS, Activities on Piazza is Not allowed.
- Under NO condition can you share the content of exams. Even if exam questions are covered in lecture, there can be no sharing of any pictures or slides (unless approved by the instructor) that are used to help explain solutions.
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:
- refrain from leaving source code prints lying around the lab
-
protect your files
- if you are using a friend's computer, do not leave your work on their computer
- save your work in a secure location and remove any copies of your work from their computer (including emptying trash)
- do not give your passwords to anyone
- enter your passwords in a way that cannot be seen by others
- do not leave a login session active on an unattended computer
- never e-mail or share your work to a friend -- even if they only need "help on just one small part"