CSCI0050: A Data-Centric Introduction to Programming

If you have a policy question that isn’t addressed on this page, email Professor Fisler or post to the Piazza board.

General Expectations
  • We expect you to keep up with the Piazza discussion board. You are responsible for knowing about all announcements and assignment clarifications (we assume you will check the board at least once a day). You can subscribe to notifications to get messages sent to your email.

  • We expect you to spend roughly 18 hours a week on this course outside of lectures. A few students will handle the course in less time, but most of you will need a minimum of 12 hours a week to keep up with material and the assignments. If you’re not spending this much time and not doing well, you need to spend more time practicing the course material. If you’re spending much more time than this and still not doing well, come see us so we can figure out why.

  • We expect you to utilize face-to-face help when needed. As you work through an assignment, you’ll encounter two kinds of questions: technical questions (how do I do X?) and process questions (how do I approach X?). We can answer easy technical questions on the discussion forum. Deeper technical questions and process questions don’t have simple answers, and we need to work on those questions in person. If you ask such a question on the discussion forum, we will ask you to come see us in person.

  • We expect you to turn off electronic devices during lecture, with the exception of using a laptop for taking notes, if you wish. Your devices and screens are often distracting to students sitting around you, and disengage you from classroom activities. Please respect your classmates and turn off your devices at the start of class.

  • We expect you to treat your classmates and the course staff with respect. Respect your homework collaborators by responding to her/his email, showing up to meetings or canceling them in advance, and doing whatever work you agree to do for the group. Be courteous on the discussion forum (constructive criticism is encouraged, but no name calling, etc). If an assignment is unclear to you, ask us for a clarification rather than assume we’re purposefully trying to make your life miserable. Of course, if you are having a problem with a classmate or a member of the course staff, please talk to Professor Fisler. If your problem is with Professor Fisler, talk to the CS dept head, Professor Centintemel.


Assignments will consist of programming projects, quizzes, and exercises on designing and testing programs. There are no exams. Student progress will be tracked across four themes: (1) producing correct programs, (2) choosing data structures and modeling problem data, (3) testing and debugging programs, and (4) decomposing problems and structuring programs. Each assessment can earn points towards one or more themes (varying per assignment). Participation in in-class activities can also earn points towards specific themes.

Final course grades will be based on student performance across the individual themes (for example: an A requires a strong grade in all four themes; B requires two strong grades, another good grade, and no below-par grades; multiple distributions could earn a C, but more than two below-par grades would not earn credit).

Grades within a theme are based on several factors, including scores on each assignment, grade trajectories across assignments, and performance on work done individually. Some students may struggle in the beginning as they get used to programming, then get stronger as the course goes on. Grading in this course aims to accomodate this normal learning curve; to do this, we cannot publish a formula up front of how individual assignments will weight in final grades (no single formula covers all students). You will receive feedback as the course goes on about your overall performance, so you can allocate your efforts according to any grading goals you have.

Late Homework

In general, late assignments are not accepted. If an emergency arises or you know in advance about a conflict, contact Professor Fisler to arrange an extension (the TA cannot give extensions).

Collaboration and Academic (Dis)honesty

Working with other students and seeing how others approach problems are both valuable when learning computer science. This policy is intended to scope collaboration in such a way that you can both learn from each other while demonstrating your individual progress in the course.

For homeworks, questions (or sections thereof) will be marked as either individual or collaborative. You must solve the individual questions on your own (though you may still seek help from the professor and TA for this course). You may collaborate with others on collaborative questions, but you are expected to document who you worked with in a comment within your file (an example will be provided with the first assignment handout). All work must be the sole effort of students named in the comment (except for individual problems, which must be done alone). Work without a collaboration statement will be treated as individual work.

For quizzes, all work must be solely that of the student whose name is attached to the quiz.

As examples, each of the following scenarios would be considered academically dishonest (this list is not exhaustive):

  • Submitting identical (or nearly identical) solutions from individuals or groups who are not (allowed to be) working together.

  • Sitting next to another student while writing up solutions while one of you copies what the other one types.

  • Asking a classmate to explain part of a quiz question to you.

  • Sending code for a homework question to a classmate "just so they can look at it to figure out how to do the problem".

  • Obtaining a solution on-line, or from someone not in the course.

  • Leaving your work in unprotected directories or services (including github) where other students can find them.

In contrast, the following scenarios are fine:

  • Discussing a collaborative assignment question at a more general level than the code: discussing what the question is asking, what the challenging parts are, what topics it draws on, and other non-code issues like this are all fine.

  • Asking the course staff for help with any question (whether individual or collaborative).

  • Sharing solutions for collaborative questions with other students in your declared collaboration group.

  • Asking a classmate (whether a collaborator or not) for help in understanding what an error message is trying to tell you (this would become dishonest if the classmate student provided or dictated a reasonable amount of the solution).

When in doubt, please just ask. There is never a penalty for asking for clarification on these issues.


The course has a diverse student population, whether you look at nationality, race, gender, sexual orientation, socio-economic, academic challenges, or other dimensions. We want the culture of this course, including its staff, to be supportive of all of you. But that doesn’t mean that we see what you see or experience in the many angles of this course.

If aspects of this course (or the CS department) are making you uncomfortable, please talk to Professor Fisler (send email or make an appointment). If you aren’t comfortable talking to her directly, contact your advisor, a trusted staff member, or the CS department diversity liasion (Laura Dobler,, 401-863-7611). The CS department maintains various information and resources regarding diversity.

And of course, the core message extends to how you interact with your classmates. Please treat each other professionally and with decency.

Please be aware that Brown considers Professor Fisler a Title IX "responsible employee", which obligates her to report any instances of sexual misconduct or harrassment to University authorities. If your situation has a sexual misconduct component and you do not want it reported, please reach out to Brown Health Services or Counseling Services (CAPS), both of which can assist you confidentally and help you find ways to communicate your course needs accordingly.

Disability Accommodations

If you feel you have physical, psychological, or learning disabilities that could affect your performance in the course, contact Professor Fisler and talk to Student and Employee Accessibility Services (SEAS) at 401-863-9588 or We will do whatever we can to support accommodations recommended by SEAS.

Religious Observance

If you require accommodation for religious observance, please contact Professor Fisler at least a week before the deadline in question to make arrangements.

Personal Emergency

In the event of a medical or family emergency, contact Professor Fisler to work out accommodations.