Syllabus

Syllabus

Instructors

NameOfficePhoneEmailSectionsOffice Hrs
Susan BaishDana 321B570-577-3829susan.baish01, 03, L61, L63M, W, F 4-5 pm
and by appt.
Alexander FuchsbergerBreakiron 377af033L60
Brian KingBreakiron 169570-577-3427brian.king04Send e-mail for an appointment
Darakhshan MirDana 210570-577-3395d.mirL62
Evan PeckDana 334570-577-2345evan.peck02Check here
Zach ScherrDana 311A570-577-1276zls002L64

(all emails are at bucknell.edu)

Course Description and Goals

Welcome to CSCI 203! This course gives you a broad introduction to the exciting field of computer science and is dedicated to writing elegant code in the Python programming language, applying different problem solving approaches, and learning how computers perform their tasks and what computers cannot do.

The course has two central aims. Upon completion of this course, successful students will be able to:

  • Aim 1: Solve computational problems through the process of design, implementation, documentation, and testing.
    1. Break a computational problem into manageable subproblems.
    2. Write an algorithm to solve the specific problem, and then translate that algorithm into a program in a specific programming language (Python).
    3. Write clear, concise documentation for their code.
    4. Develop tests to verify proper program operation.
  • Aim 2: Explore the breadth of computer science as a discipline and how it exists in the world.
    1. Identify applications of computer science in society.
    2. Describe the BIG questions in computer science.
    3. Describe the relationship between a number of major sub-disciplines within computer science including software development, computer organization, and computability.

Learning outcomes addressed in this course

  • Ability to design, implement, test, and evaluate programs that solve introductory computational problems (EAC a, b, e; CAC a, b)
  • Ability to identify and discuss the societal impact of computing on contemporary issues (EAC j; CAC g)

Course Materials

  • Required Readings: All required readings will be freely available and posted on the course schedule.
  • Course Website: Most of the course materials will be available through the course web page. Visit: www.eg.bucknell.edu/~csci203
  • Moodle: Moodle is where you will find selected lecture notes, submit your labs and homework assignments, and access grade information. http://moodle.bucknell.edu/course/view.php?id=31102

Key factors to success in CSCI 203

Reading

You are expected to complete assigned readings by class time. Be prepared to discuss the reading material in class. As part of the homework assignments, you will be asked to complete a number of readings and answer short questions about them. These readings describe real-world applications of various aspects of computer science.

Pair Programming

You are encouraged to work in pairs as it is a great way to learn, produce excellent programs, and keep up with the schedule. The pair programming strategy is widely adopted by software development companies. During this semester, you will work on individual and pair assignments to let you explore the advantages of both approaches.

Assignment problems will be designated as individual, which you must complete on your own, or pair, which you can complete with one other student. In general, programs written in pairs are known to have better designs and fewer errors than programs produced by developers working alone. When you do pair programming, you will fill out a brief form that asks for the percentage of the grade you are responsible for. If it’s anything other than a 50/50 split, you will provide a brief explanation why. We may rescale your homework grade if (at the end of the semester) we see that you are consistently not doing your equal share of the homework.

Guidelines for pair programming

  • If you choose to work with a partner, you must work with the same partner for the entire assignment that week. However, if you pair in the lab, you may choose a different individual to pair with for the remaining homework.
  • You must work with at least three different partners over the semester. In the past, we have seen that students often become too reliant on their partners, and it negatively impacts their grade (and success after CSCI 203!). Failing to switch partners can result in a reduction of your overall homework grade in the course.
  • You and your partner will each submit your own Python file for each problem. If you hand in as pairs, the solutions must be identical, otherwise we will grade them individually. However, both students must submit a Moodle “Submission comment” indicating that you worked in a pair, and who your partner was. You may switch partners each week.
  • If you choose to work with a partner, you must work together in front of one computer for every problem that week. While you are working, the computer screen should be visible to both people. One person should type, while the other person observes, critiques and plans what to do next. You must switch roles periodically, say every 10 minutes. NOTE: Splitting up the work is not permitted. Both team members must work on each problem together.

CSCI 203 Help Resources

Help Sessions

Student TAs will be available for help on the CSCI 203 labs/homework. Pending use, there will likely be help sessions 5 days a week (Tuesday, Wednesday, Thursday, Saturday, and Sunday). See Moodle for the latest times and rooms.

Dana 213 has been reserved for CSCI 203 from 7-10 pm every night of the week, whether a TA is present or not. You should think of Dana 213 from 7-10 pm as your Common Room for the whole semester. Bring your laptop and join the CSCI 203 community. The TAs are available to help you interpret the problem, explain weird error messages, review Python features, and point you in the right direction. The TAs will not do the homework for you! Please seek out their help when needed.

TLC Student Facilitators

The University Teaching and Learning Center (TLC) sponsors Student Facilitators to run study groups for CSCI 203. Effective study groups have been shown to provide meaningful and efficient mechanisms for learning; they can help you keep up with material, review and study for exams, and engage with diverse perspectives on the material from the beginning of the course. These groups will be open to any CSCI 203 student who wants to join.

How TLC Groups are different from help sessions: TLC Student Facilitators will not look at students’ solutions. (That’s what the help sessions are for!) If you can frame your question as a general conceptual question, the facilitators may answer them. As an example, you are free to ask the facilitators “Why does 3 // 2 give me 1, rather than 1.5?” but not “My homework does not compute correctly, could you look at it and help me figure out why?” Those questions should be handled by TAs at the CSCI 203 Help Sessions or instructors.

Academic Integrity

We expect all students to read and abide by the principles clearly explained in the university’s academic responsibility policy. The computer science department has an extension to this policy that explains how it applies to computer science. It is very important that you read and abide by this policy.

Submitted projects, labs, and homework assignments may be electronically compared to other students’ work in this and past semesters. Incidents of irregularities will be referred to the University’s Board of Review on Academic Responsibility.

Am I allowed to use material off the Internet?

You are allowed to use the internet to gain a deeper understanding of a topic. However, this should be a conceptual understanding of the topic, and not simply searching for solutions.

Practically, this means that you are allowed, and even encouraged, to look for alternative videos, images, or explanations that might clarify the topic that your work is about. You are not allowed to search for, or ask about, solutions to the problem you are working on. For example, you can look up explanations and examples about recursion, but you cannot look for other people who have attempted or solved the recursive problem in your homework (or one that is practically identical).

While it’s impossible to perfectly capture the dos and the don’ts of Internet searching, abide by the spirit of this policy – we want you to take advantage of the Internet to develop a stronger conceptual understanding of the material without using it to find the answers to your work.

Remember, sources should be cited in your work. For examples, if you find a useful Python function on the Internet, e.g., in an API (Applications Program Interface), you should describe by a comment in the code the function’s website and its current URL.


Professionalism and Engagement

Professionalism is defined by many criteria, most of which are common sense and common courtesy rules. As a general guideline, behave as you would in your dream workplace. To encourage a professional, respectful atmosphere that is conducive to maximal learning in the classroom:

  • Silence cellphones and other notifications during class and lab.
  • Arrive on time and do not leave before the class is over. Repeated tardiness will be treated as absences.
  • Stay awake and alert and actively participate in class.

Use of Technology

While in class, your technology should be used only in such a manner that supports your learning. Research shows that surfing the web not only distracts you, but disrupts the learning of the people behind you as well. (They can’t help but peek over your shoulder!)

Attendance and Missed Material

Attendance is required. Since we do not always follow the assigned readings closely, we’ve found that poor lecture attendance often correlates with poor grades in CSCI 203. If you need to miss a class or lab:

  • Before class: email your lecture instructor (or both your lecture and lab instructor if you are missing a lab).
  • After class: ask your classmates for notes and carefully review missed material.

You are responsible for the material presented in class. If there are concepts that seem unclear, be sure to ask questions to get clarification.
If you are having a tough semester and discover you have fallen behind, please visit with your lecture instructor sooner rather than later. We will be very happy to work with you and help you catch up.


Assignments and Assessments

  • Homework and Labs: There will be a homework and lab assignment each week. Assignments should be submitted electronically using Moodle by 11:55pm on the due date. Submission instructions are provided on the class website.
  • Exams: There will be two midterm exams and a comprehensive final exam. The mid-term exam dates are on the course schedule. The final exam will be scheduled by the registrar.
  • Final Project: During the final two weeks of the semester, you will complete a final project. More details on the project will be given as the semester progresses.
  • Quizzes and/or warm-ups: At the discretion of the instructor, there will be periodic in-class quizzes or warm-up exercises to be completed at home.

Grades

Grading Category Percentage of Final Grade
Labs and homework 30%
Two Midterms 30%
Final Exam 20%
Final Project 10%
Quizzes, warm-ups, professionalism & participation 10%
  • In order to receive a passing grade, you must receive a passing grade (60% or above) both in the lab/homework portion and in the exam portion.
  • In order to foster team spirit, grades are not curved. Teamwork (within the boundaries of the Honor Code) is warmly encouraged in this class.
  • Lab checkpoints are for attendance and to help lab instructors monitor your progress. If you do not complete ANY checkpoints, your lab grade will be a 0.

Late Homework and Late Cards

Homework is due on the day indicated at 11:55 p.m. (Homework problems 0 and 1 will usually be due on Thursdays and the rest will be due on Sundays unless otherwise indicated). At the beginning of the semester you will receive six late cards, each of which may be used for one 24-hour extension on any one weekly assignment (lab or homework). If you submit your homework after the deadline, you will automatically use a late card. You do not need to tell us that you’re using a late card. We will notice based on your submission time and automatically deduct a late card. Homework that is more than 24 hours late or submitted after the deadline when no late cards remain will not be accepted. If you worked with another student on a late assignment, then both students will use a late card. If we receive a late assignment and only one student has a late card remaining, then only that student will get credit for the assignment.

In extreme circumstances (such as serious illness), you should notify your instructor and request due date extension before the assignment in question is due.

Depending on your instructor, there may be a number of warm-up quizzes during the semester. We will drop four (4) lowest warm-up quizzes.

Missed Work

No make-up warm-ups, quizzes, or homework will be given. No make-up exam will be given without proper documentation justifying your extenuating circumstances that caused you to miss the exam. You must follow these rules:

  1. Inform your instructor that formal documentation is coming from a physician, coach, or other authority prior to the exam absence.
  2. Bring the original documentation justifying your extenuating circumstances to your instructor and the Dean as soon as possible. The Dean will approve or disapprove your extenuating circumstance.
  3. If the Dean provides approval, bring a copy of documentation (or email) for the instructor to keep.
  4. Work with your instructor to schedule a make-up exam to take place as soon as possible.

Failure to provide adequate documentation in a timely fashion that justifies your circumstances will result in a zero for the exam. The make-up exam must be scheduled to occur within a week after you return.

You must follow university policy regarding athletics, conferences, or job interviews. If approved, the assignment can be given early or an exam may be sent to your coach/supervisor for you to complete on your trip.

Code of Conduct

Professionally, we strongly adhere to ACM’s Code of Ethics. More broadly, a course like CSCI 203 involves reflection, collaboration, and communication. We recognize that computer science has a checkered history with respect to inclusion – in corporate environments, in our classrooms, and in the products we create. As a result, we strive to promote characteristics of transparency and inclusivity that reflect what we hope our field becomes (and not necessarily what it has been or is now).

Above all, be kind.

We reject behavior that strays into harassment, no matter how mild. In this context, harassment refers to offensive verbal or written comments in reference to gender, sexual orientation, disability, physical appearance, race, or religion; sexual images in public spaces; deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of class meetings, inappropriate physical contact, and unwelcome sexual attention.

If you feel someone is violating these principles (for example, with a joke that could be interpreted as exist, racist, or exclusionary), it is your responsibility to speak up! If the behavior persists, send a private email to your instructor to explain the situation.

(Portions of this code of conduct are adapted from Prof. Lorena A. Barba)

Special Accommodations

If you have a physical, mental, or learning disability, either hidden or visible, which may require classroom, test-taking, or other modifications for accommodation, please see Heather Fowler (Director of the Office of Accessibility Resources at 570-577-1188 or oar@bucknell.edu or Suite 107 Carnegie ) who will help coordinate reasonable accommodations for those students with documented disabilities. If you have been granted special accommodations, please inform your instructors in a timely manner (a week before accommodations are needed).

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 or her to provide any resources that he or she may possess.