Introduction to Computing I: Spring 2019
Description and Goals
Computers and software are everywhere. Inside your mobile phone, your car, and quite possibly your toaster, hundreds, thousands, or millions of lines of software are running. Programs enable and mediate instant communication, global financial networks, a smoothly running engine, and a perfectly browned slice of sourdough. Writing software to instruct computers to do even simple tasks can be challenging, fun, and creative.
The goal of this course is to introduce students to computer science and problem solving by writing programs. Through lecture, discussion, programming assignments, and other activities we will cover topics such as basic programming constructs (variables and types, control flow, conditionals, iteration), input and output, basic data structures, objects, and recursion. No prior experience in computer science or programming is required for this course.
Lecture Meeting Times
|A||Joel Sommers||McGregory 314||MWF 9:20—10:10 AM|
|B||Hiva Samadian||McGregory 314||MW 2:45–4:00 PM|
|C||Sandra Jackson||McGregory 314||TR 8:30—9:45 AM|
Lab Meeting Times
|L_A||Val Cucura||McGregory 328||M 12:45-2:35|
|L_C||Steve Van Wert||McGregory 329||M 4:10-6:00|
|L_D||Val Cucura||McGregory 328||T 11:20-1:10|
|L_E||Val Cucura||McGregory 328||T 1:20-3:10|
|L_F||Steve Van Wert||McGregory 329||T 1:20-3:10|
|L_G||Matt Lyboult||McGregory 328||T 3:20-5:10|
Note: there will be no lab during the first week of classes. Labs will start in the second week of classes (starting January 28, 2019).
While students can attend the office hours of any course instructor, we encourage you to attend the office hours of your course instructors whenever possible. Homework questions should be asked to course instructors. Questions relating to lab work should be asked to the instructor of the laboratory section you are attending.
Talking to your professors in class and office hours are the preferred means of contact for this course. However, there may be times when you need to use email. When you do, be sure to include “COSC 101” in your email subject line. The instructors make every effort to respond to emails within 24 hours and will often respond sooner; however, there may be times when responses take as long as 72 hours. Multiple or repeated emails will delay the response time.
COSC tutors are available during open lab hours in McGregory 329. Lab tutors provide help hands-on with coursework. Times are Sundays-Thursdays 7:00-10:00pm.
This course (lecture + lab) count for a total of 1.25 credits. Therefore, you are expected to spend roughly 12.5 hours/week on this course, on average. A rough indication of how that time should be allocated across the various requirements follows:
Class: You are expected to come to class and to actively participate, including answering questions and completing other in-class activities. Students may be called on in class. (≈2.5 hours/week)
Reading and Exercises: Complete the assigned reading and exercises (see schedule) due before class. Anything from the required reading, even if not directly discussed in class, is fair game for the homework and exams. (≈3 hours/week)
Lab: To complete this course, you must also sign up for a 2-hour weekly laboratory section. Labs are designed to be completed during the lab period. Please note that you will likely have a different instructor than in lecture, and this instructor will determine the lab component of your grade. (≈2 hours/week)
Homework: There are weekly homework assignments, typically due on Thursdays. Homework takes the concepts introduced in class and practiced in lab and pushes you to apply them to more challenging problems. (≈5 hours/week, during homework weeks)
Exams: There will be three midterm exams and a final exam for the course. The midterms will be 50-minutes in duration and held during class, and the final will be held during the university-schedule exam time.
How to Think Like a Computer Scientist: Interactive Edition Is a free, online, interactive textbook containing examples with embedded code fragments that you can run and modify.
You will occasionally be asked to read from other books and sources, they will be available freely online and linked from the course schedule.
Course Webpage: The main course website is located at http://cs.colgate.edu/cosc101. This page contains general course information: general policies, textbook, homework descriptions, exam preparation, and relevant links. You are responsible for keeping up with changes and updates to the site.
Moodle: Your course instructor will also have class-specific information (specific course syllabus and policies) and materials in Moodle. Grading breakdown and other grading policies are specific to your individual course.
- All programming will be done using the Python 3 language. Lab computers will have python pre-installed. However, you may wish to install Python on your personal computer. If you choose to install Python, be sure to install Python 3, not 2.7!!. See our tools page for more information.
- The official Python language website, has loads of useful documentation. Especially useful references include the tutorial and the module index.
Academic honesty and collaboration
You are expected to abide by Colgate’s academic honor code. Communication (i.e., discussing the problem and possible solutions) while working on assignments is fine, but the work you submit must be your own. Roughly speaking, it is okay to share ideas but it is not okay to share any artifacts (code, write-up, etc.). Here is a good way to think about it: you and a classmate can get together, discuss ideas, and even write some code. However, you are expected to leave that meeting with nothing – no notes and certainly no code – and write up your own solution. If you do study with anyone, include a note with your submission that states clearly with whom you worked. Failing to acknowledge those you work with can be a violation of the honor code.
The concepts in this course build on one another, so once a student gets behind, it becomes increasingly harder to keep up. Good planning is essential and starting homework early is good practice. Plan to give yourself time to step away from your work and return to it later. Programming in this way works better than sitting down and trying to complete programs in one shot right before the deadline. However, we understand that unexpected circumstances arise, therefore, late homework may turned in after the stated deadline with a penalty of 20% per day.
If unexpected circumstances arise that could impact your involvement in the course (inability to attend class, complete the homework on time, etc.), please let your instructor know as soon as possible so that we may design appropriate accommodations. Usually these accommodations will be made in consultation with your Administrative Dean.
Additionally, any student who faces challenges securing their food or housing and believes this may affect their performance in the course is urged to contact their Administrative Dean for support. Furthermore, please notify your instructor if you are comfortable in doing so, so we may provide any resources available.
A key to your success at Colgate, and in life in general, is figuring out what resources are available and using them to help you achieve your goals. For any homework problems or other class-related questions that you have, there are several options for getting help. Please take advantage of these opportunities!
- See instructor during office hours.
- Form a study group with other students in the class and work together on a regular basis (note the collaboration policy above).
- See CS student tutors during Open Lab hours.
- Post questions in the Q&A forum on Moodle.
It’s worth reading “How to Study CS”, as you will likely find that computer science is unlike other disciplines that you have encountered and you will need to approach studying differently.
In addition, please be aware of the great resources that Colgate provides:
Academic Support and Disabilities Services; Lynn Waldman, Director.
If you feel you may need an accommodation based on the impact of a disability, you should contact your instructor privately to discuss your specific needs. If you have not already done so, please contact Lynn Waldman, Director of Academic Support and Disability Services at 315-228-7375 in the Center for Learning, Teaching, and Research. Reasonable and appropriate accommodations for students with disabilities are determined on a case-by-case basis to ensure that members of the community with disabilities have access to Colgate’s programs and services. She also assists students in identifying and managing the factors that may interfere with learning and in developing strategies to enhance learning.
NASC Liaison Group
NASC liaisons are a group of natural science and mathematics faculty members dedicated to providing science-interested students from underrepresented groups with mentorship, motivation, and individualized support as they navigate their paths in the sciences at Colgate. NASC liaisons do not replace the role of an academic advisor or offer formal academic advising. Rather a NASC liaison may meet one-on-one with a student to give another perspective on their academic plan; give tips on effective studying; or introduce a student to upper-class peers, alumni, or other faculty members that might be able to help them. The roles of NASC liaisons will depend on students’ needs, and we encourage students to reach out for mentorship and moral support. To find out more about the group or to contact a member, visit the NASC division webpage. Computer Science Prof. Sommers is a member of this group.
The Information Technology Service Desk is located on the third floor of Case-Geyer Library and provides services to all students across campus. The help desk consultants assist with problems concerning email, Portal, Moodle, and problems with your personal laptops. Talk to your instructor if problems with your personal computer are effecting your ability to get your work done.
College life can sometimes get bumpy; if you are experiencing emotional or personal difficulties, the Counseling Center offers completely confidential and highly professional services.
Each student is assigned an Administrative Dean who can advise you regarding personal and/or academic matters. Administrative deans often assist students to understand policies and procedures, navigate personal challenges, work with faculty, and engage with parents.