Course Overview - Spring 2018

Principles of Computing (15110) is a course in fundamental computing principles for students with little to no computing background. 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 for graphics. 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. Prerequisites: none.

Meeting Times

Course Readings


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. Given the large number of students in this course, please do not ask to attend a different lab for convenience or if you miss a lab due to oversleeping, lack of proper time management, personal trips, etc.

There will be in-class quizzes given during lecture at random times during the semester. We will drop two of your lowest scoring quizzes. If you miss a quiz or if you attend the wrong lecture, you will receive a 0 for that quiz. There are no makeups for quizzes. We will also drop your two lowest lab scores. If you miss a lab or go to the wrong lab section, you will receive a 0 for that lab. There are no makeups for labs. Please note that there are also 2 lab exams given during 2 lab meetings and these are not dropped.

Course Grading/Lateness Policy

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. Additionally, it allows us to post a sample solution as soon as possible for the benefit of all students.
You are allowed to drop one problem set (PS) and 1 programming assignment (PA) without penalty (except PA9, PA10 and PA11 which cannot be dropped). A missed or late assignment is given a grade of 0. You are still responsible for understanding the material on the dropped assignments.
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 (e.g. major illness, death in immediate family, university-sanctioned event with verification from advisor/coach, etc.). Personal travel is not a valid reason.
AN IMPORTANT NOTE ABOUT FINAL EXAMS: Do NOT make travel plans until you have the official final exam schedule, and you know definitively when your last final is. No early exams will be given, and students with conflicts or more than 3 exams in 25 hours might need to take a final on the official makeup day (Tue., May 15). Travel cost or a parent booking a trip for you is NOT a valid excuse for an alternate final. NO EXCEPTIONS.
Your course grade will be calculated based on the following:

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.

Academic Integrity

The value of your degree depends on the academic integrity of yourself and your peers in each of your classes. It is expected that, unless otherwise instructed, the work you submit as your own will be your own work and not someone else's work or a collaboration between yourself and other(s), whether they are currently in this course or not.
Please read the University information on academic integrity to understand the value of integrity for you, your peers and the university along with the penalties and processes associated with academic dishonesty at CMU. In this class, cheating/copying/plagiarism means copying all or part of a program or problem set solution from another student or unauthorized source, giving such information to another student or posting solutions online for other students to retrieve, or giving or receiving unauthorized information during a quiz or examination. In general, each solution you submit (program code, written homework or quiz/exam) must be your OWN work. 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).
Your course instructor reserves the right to determine an appropriate penalty based on the violation of academic dishonesty that occurs. Violations of the university policy can result in severe penalties including failing this course and possible expulsion from Carnegie Mellon University. If you have any questions about this policy and any work you are doing in the course, please feel free to contact your instructor for help before you approach a possible violation. You can be charged without warning; do not expect multiple chances to show integrity in the face of violations.
Special note: If you find that stress or difficult life events are making you think of committing a violation of the academic integrity policy, please speak with your instructor or send an email. Special short-term accommodations can be made depending on the situation. Reach out to your instructor instead of committing a violation. We can help.


If you have a disability that may affect your learning and assessment in this course, and you have an accommodations letter from the Disability Resources office, please submit the letter to your instructor and discuss your needs as soon as possible. We will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability that may impact your performance in this course, please contact the Disability Resources office at .

Health and Wellness

Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress. All of us benefit from support during times of struggle. If you or anyone you know experiences any academic stress, difficult life events, or feelings of anxiety or depression, we strongly encourage you to seek support. Contact the Counseling and Psychological Services (CaPS) office at 412-268-2922 and visit their website at for more information.
If you or someone you know is in danger of self-harm, please call someone immediately, day or night:
CaPS: 412-268-2922
Re:solve Crisis Network: 888-796-8226
CMU Police: On-Campus 412-268-2323, Off-Campus 911