CSCI 101 - Intro to Computer Science
Spring 2020 - SyllabusQuick Links: zyBook | Piazza | Canvas | CS @ Mines
|| Home | Contact | Schedule | Assignments | Syllabus ||
This course is an introduction to the building blocks of Computer Science. Students will engage in activities that show how computing changes the world and impacts daily lives. Topics include conventional algorithm design and efficiency, computer hardware, operating systems, computer networking, cybersecurity and privacy, artificial intelligence, and programming languages. Various optional topics in computer science are discussed as well, depending on the semester. A popular procedural programming language (Python) will also be used by students with assignments that explore the topics discussed in class.
There are no prerequisites for this course. If you are new to programming, then you must enroll in the LAB course associated with this class (CSCI 102). In other words, students in CSCI 101 who are not in CSCI 102 should start the semester with significant prior experience programming in some language.
If interested in more details on what we'll cover in this course, see the list of Course Topics
Main Required Book (purchase electronically):
Our main textbook this semester is an electronic book called CSCI 101: Introduction to Computer Science, which was created specifically for this course. Our zyBook contains material from four zyBook titles:
Optional Book (if you also want a hard copy of a book):
The following textbook covers most of the material in the zyBook and more. We will cover some material from this textbook in class. Three copies of this book are on reserve in the Arthur Lakes Memorial Library.
Clicker Required (purchase in bookstore):
You will also need to purchase an i-clicker from the bookstore (if you don't have one already, e.g., Physics requires one). We will use clickers for all CSCI 101 quizzes starting week 2. You should register your clicker through Canvas (see an option in Canvas on the left hand side).
The objectives of this course are to introduce students to the field of computer science. At the end of this course, students will be able to:
Computer Facilities and Assistance:
You need a Mines multipass account to use the lab machines available across campus, which most students create during EPICS. If you do not have this account, visit https://identity.mines.edu. If you have trouble, contact the Computer Commons Help Desk in room 156A of CTLM. We will use the Python 3 programming language, which we suggest you install on your home machine. We will provide instructions for doing so in CSCI 102 and will assist any student installing on their laptop.
There is a total of 1000 points in this course. Grades will be assigned on the following basis:
* some Python projects and homework assignments will be worth more than others
~ all Python assignments will be graded using Python 3
Quizzes: We will have several quizzes throughout the semester, with most given at the start of class (which means you don't want to be late!). The purpose of the quizzes is to ensure you are keeping up with course material, especially the assigned readings and videos. Good news: half the daily quiz points are earned just by taking the quiz!
Explore/Create Projects: You’ll work on the Explore Project the first half of the semester and the Create Project the second half of the semester (both of which are projects in the AP Computer Science Principles course). The Explore Project has you explore, present, and write about a computing innovation of your choosing. The Create Project has you create a final Python project, again of your choosing. These projects are pretty open-ended, allowing you to choose both the area of interest to focus on and the level of difficulty to take that focus.
Python Projects: These projects will be smaller in nature than the Create Project, each with a goal for you to practice some feature of the Python language.
Homework: This category is for other miscellaneous assignments that we'll do, and includes assignments related to zyBook and other assigned reading.
Exams: We’ll have two exams during the semester, as well as a Python language exam (toward end of semester) and a final (cumulative) exam.
zyBook chapters will be assigned each week. Students should complete the chapters as they are assigned. Participation AND challenge problems count toward completion.
Expectations: You are expected to attend all classes and come prepared to actively participate in the activity and discussion for the day. Your attendance is important for several reasons:
Final Grades: Your final grade will be determined using a straight scale. The straight scale assigns letter grades as follows:
Learning Environment:Disabilities Accomodations: The Colorado School of Mines is committed to ensuring the full participation of all students in its programs, including students with disabilities. If you have been approved for accommodations with Disability Support Services (DSS), request that your instructor receives details on your accommodations through the Accessible Information Management (AIM) system. Then, contact your instructor to (1) ensure your accommodation letter has been received and (2) discuss your needs. For questions or other inquiries regarding disabilities, we encourage you to visit Disability Support Services (DSS) for more information.
Fundamentally, we expect and require respect in this course for yourself, your classmates, and your instructor and teaching assistantships (TAs).
Academic Integrity: All students are advised to be familiar with university policy on Academic Integrity. In addition, CS@Mines faculty have adopted a Collaboration Policy exists for all courses. This policy is a minimum standard; your instructor may decide to augment this policy. You should read the CS@Mines Collaboration Policy. For CSCI 101, here are a few items to be aware:
Discrimination and Harassment:
This course and all learning opportunities at Mines require a safe environment for everyone to be productive, develop professional practices, and to be able to share and learn without fear of discrimination or harassment. Discrimination or harassment of any type will not be tolerated. Sometimes harassment is unintentional, but regardless of intent the instructor will address any language or behaviors that might discriminate, stereotype, or promote harassment. If you witness discrimination or harassment of others, please bring it to the attention of Mines faculty so it can be addressed immediately.
Title IX is a federal law that protects individuals from discrimination based on sex and gender in educational programs or activities. Mines takes its Title IX obligations seriously and is committed to providing a campus community free from gender-based discrimination. Gender-based discrimination, including sexual harassment, sexual violence, stalking, and domestic violence, is prohibited within the Mines campus community. If these issues have impacted you or someone you know, you can find appropriate resources here: http://inside.mines.edu/POGO-Title-IX. You can also contact the Mines Title IX Coordinator, Karin Ranta-Curran, at 303.384.2558 or firstname.lastname@example.org for more information.
Please let your instructor know if you become aware of an issue with the classroom (or out-of-classroom) environment.
Any student who faces challenges securing their food or housing and believes this may affect their performance in the course is urged to contact the Dean of Students for support. Furthermore, please notify your professor if you are comfortable in doing so. This will enable your professor to provide resources that may be available.
This syllabus is intended to give students guidance on our course this semester and will be followed as closely as possible. The course professor reserves the right to modify, supplement and make changes as the course needs arise. This syllabus is not a legal document; common sense rules always apply, e.g., no late assignments will be accepted after the solutions are discussed in class.