Quick Links: FAQs | Meeting Times | Labs | Textbook | Grading Policy | Online Communication | Academic Integrity | Students with Accomodations

Course Overview

This is a course in fundamental computing principles for students with little to no computing background. It covers the following topics:

Meeting Times

Lecture (Sections U & E) MTWRF 9:00-10:20AM GHC 4215 Franceska Xhakaj & Norman Bier
Lab (Section U - undergraduates) MTWRF 4:30-5:20PM* GHC Cluster TAs TBA
Lab (Section E1 - APEA students) MTWRF 4:30-5:20PM* GHC Cluster TA's TBA
Lab (Section E1 - APEA students) MTWRF 4:30-5:20PM* GHC TBA *

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 Labs for details.


There is no required textbook for this course. We will provide lecture slides and draft lecture notes as needed. We will additionally assign some readings and activities from a number of sources:


There are two types of assignments you will complete and hand-in 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 and Programming Assignments will be handed in using Gradescope. You will be assigned about 11 problem sets and 10 programming assignments throughout the semester, but these numbers are subject to change. In addition, you will be assigned modules from the Open Learning Initiative (OLI) 15-110 course materials; you are expected to complete these assignments before class and will recieve credit for completing the activities in these materials.

Grading Policy

All assignments must be handed in on time (unless you are given instructions otherwise). Late or missing work will receive zero credit. 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 problem set 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 or coach, etc.). You must take all exams (written and lab exams) at the times they are given. There will be NO MAKEUPS FOR EXAMS allowed except for acceptable documented circumstances such as the ones listed above.

Your course grade will be calculated based on the following:

Homework Assignments (Problem Sets): 25%
Open Learning Initiative (OLI) Participation: 10%
Lab Participation: 5%
Two Lab Exams: 10% (5% each)
Two Written Exams: 30% (15% each)
Final Exam: 20%

Grades from all assignments and exams may be reviewed for up to 5 days after they are returned and posted. After this period, the grade is considered final and cannot be changed. We reserve the right to review an entire assignment or exam if it is submitted for re-grading.

Course Tools

We use a number of tools to support the course.

Research on Learning and Course Improvement

For this course, I am conducting research on student learning. This research will involve an examination of student work completed in this course. You will not be asked to do anything above and beyond the normal learning activities and assignments that are part of this course. You are free not to participate in this research, and your participation will have no influence on your grade for this course or your academic career at CMU. If you choose not to participate in the research, you must still complete all required coursework, but your data will not be included in the research analyses. Participants will not receive any compensation. The data collected as part of this research will include student grades. All analyses of data from participants’ coursework will be conducted after the course is over and final grades are submitted. The Eberly Center may provide support on this research project regarding data analysis and interpretation. To minimize the risk of breach of confidentiality, the Eberly Center will never have access to data from this course containing your personal identifiers. All data will be analyzed in de-identified form and presented in the aggregate, without any personal identifiers. Please contact Dr. Chad Hershock (hershock@cmu.edu)or me at nbier@cmu.edu if you have questions or concerns about your participation.

Discussion Forum, Announcements, Online Communication Policy

We will use Piazza for course announcements and online discussions. Use it to ask questions and to share your experience.

The course staff will be happy to answer them for you in a timely manner. We will try to ensure that all Piazza posts are checked/answered by 9:00pm each week night. Sometimes we might wait to answer in order to let others answer or for you to think about it a little more. We encourage you to answer each others’ questions!

Note that giving the answer directly is not helping. While answering we expect you be respectful to others' learning experience.

Another important issue appears while asking questions. Please do not send the source code to ask your question. Your question can be related to a specific part of your program but while others read your source code they will be affected from your solutions. We need to let others find their own solutions for a better learning.

Communication here should not include any inappropriate content or any form of expression that will be unethical or rude.

Academic Integrity

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 Carnegie Mellon University.

Academic integrity means that any work you submit for this course is your own. This is critical to your learning. The policy's intention is that you never hand in something you don't understand. Your understanding must be deep enough that, if necessary, you could re-do the work completely on your own. In short, do your own work.

We want you to collaborate with other students only if the collaboration improves your understanding. Therefore, you can talk about the assignments, but no one may take notes or record the discussion. When you write 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. Your own solution, even if it is incorrect, is much better than someone else's that you don't understand.

When working on programming assignments, do not look at other students' code or show them your own. If you need that kind of help, get it from the course staff. You may discuss your code at a conceptual level; for example, "do we need a loop for this purpose or just an if statement?". You may collaborate on code at a whiteboard, but you may not take notes or photographs; the purpose of the collaboration is to develop your understanding so that you can then solve the problem yourself, on your own.

If the course staff sees similarities between your work and that of another student, we will attempt to understand what happened. Usually this involves asking you to explain your work and how you did it, and to re-create the work or solve a related problem during our meeting.

For exams, your work must be your own with no communication between you and others (except course staff), and you may use only authorized materials.

Often students have trouble keeping up with the workload due to personal issues. If this happens to you, your best action is to see your instructors. We can help you work toward a solution and will be happy to assist.

In this class, cheating, copying, or plagiarism means copying all or part of a program or homework solution from another student or unauthorized source, or knowingly giving such information to another student, or handing in a copy of work that you and another student did together, or giving or receiving unauthorized information during an examination. If you use information from another authoritative resource, you must cite the source of this information (and receive permission if required).

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 complete the Academic Integrity module in OLI, and to sign and return the Academic Integrity Form within the first week of classes.


Individuals with documented needs may be eligible to receive services and accomodations from CMU's Office of Disability Resources. For more information, please contact the Office of Disability Resources at access@andrew.cmu.edu or (412) 268-6121 (voice/TTY).

Health and Wellness

Carnegie Mellon University offers one of the world’s most stimulating educational environments in the world; your time here will challenge you and encourage you to grow --intellectually, creatively, socially & emotionally. 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 http://www.cmu.edu/counseling 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

Basic Needs Security

Any student who has difficulty affording groceries or accessing sufficient food to eat every day, or who lacks a safe and stable place to live and believes this may affect their performance in the course, is urged to contact the Dean of Students for support. Furthermore, please notify the professor if you are comfortable in doing so. This will enable him to provide any resources and support that he may possess.

Frequently Asked Questions