CSc 250: Essential Computing for the Sciences

University of Arizona

Spring 2018 Syllabus

Course Description

This course teaches essential computing skills for students in scientific disciplines. No prior background in programming is required. The content focuses on three computational skills: (i) basic programming in a scripting language such as Python, and knowledge of its supported data structures; (ii) facility with the UNIX operating system environment, including file structure, regular expressions, and job control; (iii) essential database skills, including database accession and interfacing through the SQL query language.

Location and Time

Regular class meetings: PAS room 224, M/W/F from 1:00-1:50pm. Weekly lab on Tuesday 3:00-3:50pm in Education room 240.

Prerequisites and Co-Requisites


Instructor and Teaching Staff

Course Format and Teaching Methods

The course will be a combination of lecture and lab sections. Both will include in-class discussions and small-group activities. Assignments will be done individually and (if specified) in small groups.

Course Objectives and Expected Learning Outcomes

The successful CSc 250 student will be able to:

Class Web Page and D2L

The main course website ( will host the majority of the content, including the syllabus, slides, lecture notes, and assignments. We will only use D2L for submitting assignments and posting grades. We will also use piazza for questions and discussion.


We will use Piazza as the primary platform for announcements, discussion, and Q&A. You should not email the instructors directly. If you have a general question, post it publicly. If you have a private question, or would like to include your work or solutions to a problem or assignment, post a private question to only the instructors. Never include your code or solutions in a public post.

Coursework and Grading Policies

The points for this course are distributed as follows:

Final grades will be assigned by summing up the points earned from the exams, assignments, projects, attendance, and participation. The final grade will be chosen based on the following rubric:

University policy regarding grades and grading systems is available at

The Department of Computer Science Grading Policy is as follows:

The exams will cover material discussed in-class, in the readings, and in assignments. They will also draw from concepts that the students learn when doing the homework assignments and may include any material covered up to the point of the exam. They will be graded within one week of being given.

There will be 10-13 homework assignments. The majority of these will be programming assignments. These assignments will be graded based on both program correctness (passing all of the test cases) and code formatting style (properly indenting code, good commenting, and following naming/style conventions). A few of the assignments may be written homeworks. In the written homeworks, students will solve logic problems, develop simple algorithms, write short-answer responses, etc. These will be graded within one week after the last valid submission date by the instructors and teaching assistants.

Homework assignments are due at the date/time specified on each assignment. Each student will be allowed 3 late days over the course of the semester. If a student chooses to use a late day, they may submit a homework one day (24 hours) late without penalty. Only one late day may be used per assignment. Once all late days have been used, a late homework submission will result in a grade of zero.

There is 1 final project worth 8% of your grade. This may be done individually or in groups. You may not use a late day for this.

There are no scheduled extra credit opportunities, but they may be assigned by the discretion of the instructor.

Exams must be taken during the assigned class period. They may not be made up, except in the case of an emergency situation. If an emergency arises and a student is unable to take an exam or quiz because of it, students must provide documentation showing why they were unable to attend the exam or quiz.

Final Exam

The final exam will be on May 7th (Monday) from 1:00pm-3:00pm. Do not make travel plans that conflict with this date!


Attendance at lecture is not recorded, but you should still come. Attendance at section is required and recorded.

Computer Labs

As a CS student, you have access to the computers in Gould-Simpson room 228. This is a computer lab operated by the CS department. You may use these machines for course-work.


In addition to attending lecture 3 times per-week, you are required to attend a once-per-week lab. In lab, you will work on problems, review concepts, and in some cases be presented with new material. Attendance at lab is recorded by both a sign-in sheet and you submitting the work you have done. You must do both, and solve a sufficient number of problems to get the points for attendance. You have 2 “free” lab skips. After that, each lab you skip will result in a 3% deduction from your final grade in the course.

Test Makeup

If you miss an exam due to a medical or other emergency, you may be asked to provide documentation before being allowed to make-up the points. You also must let the instructor know you will miss the exam with 48-hours notice before the exam, if possible.

Course Communications

Course communication and announcements will be made either in-class, on D2L, the class webpage, or on the course Piazza page.

Texts and Readings

Below are the required and suggested texts for this course. You will not be required to do any reading from the texts in the suggested section that are purchase-only. They are listed as a helpful reference, and will come in handy if the student is interested in more in-depth reading on some topics we will be covering.

The instructor may assign additional readings from online articles, blogs, papers, and library resources.

Required Hardware

Is is highly recommended that you own of have access to a laptop or desktop computer. Either Mac or Windows is OK.

Required Software

Python, Wing101, SQlite. Also must have access to a computer with a UNIX operating system.

Scheduled Topics/Activities

See the “schedule” section of the course home-page.

Absence and Class Participation Policy

The UA’s policy concerning Class Attendance, Participation, and Administrative Drops is available at
The UA policy regarding absences for any sincerely held religious belief, observance or practice will be accommodated where reasonable: Absences preapproved by the UA Dean of Students (or dean’s designee) will be honored. See
Participating in the course and attending lectures and other course events are vital to the learning process. Attendance at lecture is not recorded, but you are expected to attend, and are responsible for all information conveyed therein. Attendance at discussion section is required and recorded. Students who miss class due to illness or emergency are required to bring documentation from their healthcare provider or other relevant, professional third parties. Failure to submit third-party documentation will result in unexcused absences.

Department of Computer Science Code of Conduct

The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors (such as physical or emotional harassment, dismissive attitudes, and abuse of department resources) will not be tolerated. The complete Code of Conduct is available on our department web site. We expect that you will adhere to this code, as well as the UA Student Code of Conduct, while you are a member of this class.

Classroom Behavior Policy

To foster a positive learning environment, students and instructors have a shared responsibility. We want a welcoming and inclusive environment and one where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.). Students are asked to refrain from disruptive conversations with people sitting around them during lecture Students observed engaging in disruptive activity may be asked to cease this behavior. Those who continue to disrupt the class may be asked to leave lecture or discussion and may be reported to the Dean of Students.

Threatening Behavior Policy

The UA Threatening Behavior by Students Policy prohibits threats of physical harm to any member of the University community, including to oneself. See

Accessibility and Accommodations

At the University of Arizona we strive to make learning experiences as accessible as possible. If you anticipate or experience physical or academic barriers based on disability or pregnancy, you are welcome to let me know so that we can discuss options. You are also encouraged to contact Disability Resources (520-621-3268) to explore reasonable accommodation.

Please be aware that the accessible table and chairs in this room should remain available for students who find that standard classroom seating is not usable.

Code of Academic Integrity

Students are encouraged to share intellectual views and discuss freely the principles and applications of course materials. However, graded work/exercises must be the product of independent effort unless otherwise instructed. Students are expected to adhere to the UA Code of Academic Integrity as described in the UA General Catalog. See

You may discuss homework assignments with other students at the conceptual level, but you may not do any of the following unless given permission:

The University Libraries have some excellent tips for avoiding plagiarism, available at

Selling class notes and/or other course materials to other students or to a third party for resale is not permitted without the instructor’s express written consent. Violations to this and other course rules are subject to the Code of Academic Integrity and may result in course sanctions. Additionally, students who use D2L or UA e-mail to sell or buy these copyrighted materials are subject to Code of Conduct Violations for misuse of student e-mail addresses. This conduct may also constitute copyright infringement.

Cheating on an assignment may result in the following penalties:

UA Nondiscrimination and Anti-harassment Policy

The University is committed to creating and maintaining an environment free of discrimination; see

Additional Resources for Students

UA Academic policies and procedures are available at

Student Assistance and Advocacy information is available at

Subject to Change Statement

Information contained in the course syllabus, other than the grade and absence policy, may be subject to change with advance notice, as deemed appropriate by the instructor.