Fast Links: FAQs | Meeting Times | Lab sections | Textbooks | Grades | Academic Integrity | Students with Disabilities
15110 is a course in fundamental computing principles for students with little to no computing background. The course covers the following topics:
- Programming constructs: sequencing, selection, iteration, and recursion.
- Data organization: arrays and lists.
- Use of abstraction in computing: data representation, computer organization, computer networks, functional decomposition, and application programming interfaces.
- Use of computational principles in problem-solving: divide and conquer, randomness, and concurrency.
- Classification of computational problems based on complexity, non-computable functions, and using heuristics to find reasonable solutions to complex problems.
- Social, ethical and legal issues associated with the development of new computational artifacts will also be discussed.
NOTE: Speak with your advisor about whether you are required
to take 15110 or 15112 (Fundamentals in Programming) or both
if you are unsure about which course you should be taking.
Lecture 1 MWF 2:30 - 3:20, GHC 4401, Roger Dannenberg, Dilsun Kaynar.
Lecture 2 MWF 3:30 - 4:20, GHC 4401, Roger Dannenberg, Dilsun Kaynar.
Labs (also known as recitations) R, held by course TAs in 5201 and 5205.
You are required to go to your assigned lecture and lab. Since part
of your course grade depends on lab participation, you must go to
your assigned section to get lab credit. See Lab sections and Course Assistants for details.
There is no required textbook. We will provide lecture slides and draft lecture notes as needed. We will additionally assign some readings from the book "Blown To Bits: Your Life, Liberty, and Happiness after the Digital Explosion" by Hal Abelson, Ken Ledeen, and Harry Lewis. Publisher: Addison-Wesley, 2008 (ISBN: 978-0137135592). This book is available FOR FREE from http://www.bitsbook.com/. You can buy a hardcopy of this book if you wish from any major bookseller.
The following textbooks are recommended as supplemantary resources:
- Explorations in Computing: An Introduction to Computer Science
by John Conery. Publisher: CRC Press, 2011 (ISBN: 978-1439812624). This book was the textbook for the previous sessions of the course taught using the language Ruby. The current session of the course will be taught using the language Python. Those parts of the book that are not specific to Ruby provide relevant and recommended reading. The book is available from CRC Press directly at a 20% discount (use discount code 888FX at checkout) or as an e-book directly from Vital Source at a 31% discount.
- Introduction to Computation and Programming Using Python by John V. Guttag. Spring 2013 edition. Publisher MIT Press. This book is available as an ebook (ISBN: 9780262312196) and as paperback (ISBN: 9780262519632).
There are two types of assignments you will complete in this course: problems sets (ps) and programming assignments (pa). Problem sets are written assignments that help you test your understanding of conceptual parts in this course. Programming assignments help you test your programming skills or use of other online tools presented in class. Problem sets are handed in in class and programming assignments are handed in using the tool Autolab . You will be assigned about 11 problem sets and 11 programming assignments throughout the semester. The number of assigments is subject to change.
All assignments must be handed in on time (unless you are given instructions otherwise). Late or missing work will receive a 0. The reason this is done is so that we can get feedback to you as quickly as possible so you can learn from your mistakes and prepare for the exams. Additionally, it allows us to post a sample solution as soon as possible for the benefit of all students. We will drop 1 written assignment and 1 programming assignment with the lowest grade (except where noted). You are required to provide documentation if you could not submit an assignment due to a legitimate reason (e.g. major illness, death in immediate family, university-sanctioned event with verification from advisor/coach, etc.). You must take all exams (written and lab exams) at the times they are given. NO MAKEUPS FOR EXAMS will be allowed except for acceptable documented circumstances such as the ones listed above.
Your course grade will be calculated based on the following:
Homework Assignments: 30%
Lab Participation: 5%
2 Lab Exams: 10% (5% each)
3 Written Exams: 30% (10% each)
Final Exam: 25%
Grades from all assignments and exams may be reviewed for up to 5 days after they are returned/posted. After this period, the grade is considered final and cannot be changed. We reserve the right to review an entire assignment/exam if it is submitted for re-grading.
We use Autolab for releasing all of your grades and we expect you to use it to keep track of your grade status.
We will use Piazza for course announcements and online discussions.
The value of your degree depends on the academic integrity of yourself and your peers in each of your classes. Please read the University Policy on Academic Integrity carefully to understand the penalties associated with academic dishonesty at CMU.
It is expected that you will complete each assignment on your own, and each answer you submit represents your own work and not someone else's work, in full or in part. In other words, do your own work.
In this class, cheating/copying/plagiarism means copying all or part of a program or homework solution from another student or unauthorized source, knowingly giving such information to another student, or giving or receiving unauthorized information during an examination. In the event that you use information written by another person in your solution, you must cite the source of this information (and receive permission if required).
You can talk about the assignments with anyone in order to understand what a problem is asking, but no one may take notes or record the discussion. When you develop your solution, it should be YOURS. Go to a separate area and write your own code or answers. Do this INDIVIDUALLY so that you don't end up copying someone else's work. If you are having trouble coming up with a correct solution, your own solution, even if it is incorrect, is much better than someone else's that you don't understand. In this way, we can identify areas where you are having trouble, and we can give you help to understand these harder concepts.
If you are having trouble keeping up with the workload due to personal issues, your best action is to see your instructors rather than copy someone else's work. Your instructors can help you work toward a solution and will be very happy to assist.
During exams, your work must be your own with no communication between you and others (except course staff) during the exams, and you may not use any unauthorized materials during the exam.
Students who violate this policy will be charged with academic dishonesty that can result in failure in this course and possible expulsion from Carnegie Mellon University. Review the official University Code for more information.
Every student is required to sign and return the Academic Integrity Form within the first week of classes.
Individuals with documented disabilities may be eligible to receive services/accomodations from CMU's Equal Opportunity Services (EOS) office. For more information, please contact Larry Powell, Manager of Disability Services at (412) 268-2013 (voice/TTY).
You are required to go to your assigned lecture and lab. Since part of your course grade depends on lab participation, you must go to your assigned section to get lab credit. To email your CA directly, you can send mail to their andrew ID "at" (@) andrew.cmu.edu .
|SECTION||DAY/TIME||ROOM||COURSE ASSISTANT||ANDREW ID|
|A||R 9:30AM-10:20AM||GHC 5201||Andrew Russell||andrewru|
|B||R 10:30AM-11:20AM||GHC 5201||Felicia Wang||frw|
|C||R 11:30AM-12:20PM||GHC 5201||Andrew Yee||ajyee|
|D||R 12:30PM-1:20PM||GHC 5201||Benjamin Lam||bklam|
|E||R 1:30PM-2:20PM||GHC 5201||Avia Weinstein||aweinste|
|F||R 2:30PM-3:20PM||GHC 5201||Patrick Yurky||pyurky|
|G||R 3:30PM-4:20PM||GHC 5205||Jon Yee
|H||R 9:30AM-10:20AM||GHC 5205||Haris Usmani||husmani|
|I||R 10:30AM-11:20AM||GHC 5205||Kevin Chiu||kschiu|
|J||R 11:30AM-12:20PM||GHC 5205||Yihuan Zhou |
|K||R 12:30PM-1:20PM||GHC 5205||David Campbell||dcampbel|
|L||R 1:30PM-2:20PM||GHC 5205||
|M||R 2:30PM-3:20PM||GHC 5205||Jack Biggs
|N||R 3:30PM-4:20PM||GHC 5205||David Campbell |
We are compiling a list of frequently asked questions and our responses. If you cannot find the answer to your question on this list, please send email to: email@example.com or firstname.lastname@example.org
|I have questions about my assignments that are due soon. How do I get help?||You can go to one of the office hours to receive help from the TAs or from instructors. You can also post your question to Piazza to get a response.|
|How can I find my grades?||All your grades are available on Autolab upon being graded.We make every effort to make your grades available within a week of their due date|
|Some of my grades are missing from Autolab. What do I need to do?||Few steps to take
1. Contact your TA and ask why all or some grades are missing.
2. If the issue is not resolved within a day or two, send email to instructors (dilsun at cs.cmu.edu or email@example.com with copy to TA stating the following: Which grades are missing? Your SECTION?
|Can I switch my recitation section?||Yes, as long as we have enough space in the new recitation. You must make an official change of recitations through SIS.|
|I must be out of town for university related event (eg: member of a team). What should I do about my assignments?||If you have an OFFICIAL excuse we will make special arrangements for you to submit the assignment. Please contact the instructor.|
|I missed one of the lab sessions. Can I still submit my lab assignment?||No. However, you can drop two labs and we will count this as one of them.|
|I am out of town attending a family/important event . How can I submit my assignments due for the week?||The programming assignment must be submitted online using Autolab if the submission link is active. Otherwise, you should alert the instructors and your TA that the link is not active and that you need to submit your work. The written assignment must be scanned and send as an attachement to your TA before the due date . However, we can only allow you to do this one time during the semester|
|I missed the in class exam because I fell sick. What should I do?||You must immediately seek medical treatment and receive an official medical excuse. You must also contact the instructors PRIOR to the exam. If you can produce that we can make arrangements to give you a makeup test. Otherwise, we will be unable to make any exceptions.|
|I need to discuss my performance in the course with someone. What should I do?||You must immediately contact one of the instructors of the course. They will be able to assist you in dealing with the situation.|
|What is the best way to prepare for an in class exam?||If you are attending lectures and doing homeworks, you must be well prepared. All you need to do is to review all lectures, and class assignments. We also regularly offer help sessions before the exam. Plan to attend one of them.|
|I am failing the course. Is there any extra work I can do to get a passing grade?||Unfortunately, in a large class like ours, we cannot make exceptions. Best way to avoid this situation is to talk to one of the instructors as soon as possible to find out what you need to do. Do not wait until the last few weeks of classes to discuss your performance.|
|I want to add this course. Is it possible to do it?||You can only add a course during the first two weeks of classes. We do not accept any new students after the second week. However, you are welcome to audit the course, provided we have enough space. Please consult an instructor.|