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.
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.
Virtual/online open lab hours will be available in the Fall. Details TBA.
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.
Class: You are expected to attend any in-person class meetings and actively participate in your section.
Reading and Exercises: Complete any assigned readings and/or other exercises due before class. Anything from the required reading, even if not directly discussed in class, is fair game for the homework and exams.
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.
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.
Exams: There will be periodic midterm exams and a final exam for the course.
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 may 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.
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. Consult with your instructor on their policy regarding late homeworks.
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!
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:
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 the 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 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.
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.