CSC 180: Programming with Data

Winter 2020

Lecture: TTh 1:10–2:40pm

Scott Dexter (he/him)

dextersd@alma.edu
Office: SAC 252

Mission Statement

Alma College's mission is to prepare graduates who think critically, serve generously, lead purposefully and live responsibly as stewards of the world they bequeath to future generations.

Learning Outcomes

At the successful completion of this coures, you will:

  1. Be able to work with digital data presented in a variety of formats (e.g. CSV, JSON, XML).
  2. Be able to manipulate data stored in common python structures (both those provided by the language and those provided by libraries such as numpy and pandas).
  3. Be able to write python code that supports processing, interpreting, and presenting digital data.
  4. Be able to use python to "transform" raw data into a presentation that makes a data-driven argument.
  5. Be able to use interactive python environments, such as IPython and/or Jupyter, to explore and present data.

About This Course

I may record virtual meetings of this course. Any recordings will be available to students registered for this class. Students are expected to follow appropriate College policies related to the use of the recordings. You may only use these recordings to supplement your learning in this class. You are not permitted to reproduce, share with those not in this class, retain, or uploaded to other online environments these recordings. Doing so would be a breach of the Student Code of Conduct as it is not permitted by this syllabus addendum. If we plan any other uses for the recordings beyond this class, we will obtain appropriate consent from students identifiable in the recordings.

This is the first time this course has been offered at Alma College, and it's certainly the first time I've taught it. This means that all of us are guinea pigs. I have a general plan for how the course will proceed, and I think we'll be doing some pretty cool stuff by the end of the semester. But there may be things we do that just don't work for any number of reasons. You can help manage this situation in two ways: (1) Let me know if something isn't working for you—this is really valuable feedback, and I will do my best to respond (at the very least, your feedback will help me next time I teach this course); (2) stay relaxed—I know it can be easy to get anxious when a course doesn't seem fully planned, but my intention is to let the course evolve as we all learn what this course needs to be like. If you stay present and do the work, all will be well... promise!

Anyway:

This is a course designed for students from a variety of backgrounds who want to learn about the power of programming to manipulate, analyze, and present data. No prior experience in programming is required, though some prior experience with spreadsheet and/or statistical software will be very helpful. This course will not deal with sophisticated statistical data-intensive techniques like "machine learning," though by the end of the course you will be well-prepared to pursue python's mechanisms that support those techniques.

Similarly, this is not a course that focuses on software development techniques—this makes it somewhat different from courses that are designed primarily for computer science majors. There are many aspects of python we will not touch on, and many techniques for writing python code that we will leave aside. We will mainly be using python as an exploration tool rather than a production tool. However, we will encounter plenty of important programming concepts. If you don't have much previous programming concepts, this course will expose you to many foundational ideas that would serve you well in more advanced programming courses. And if you already have programming experience, I think you will encounter plenty of new ideas in this course which will nicely complement your prior studies.

By the end of the course, I hope you'll be able to take "raw" data sources—from datasets published online, or produced/collected by you—explore and manipulate them with python, and analyze/interpret/visualize them in a persuasive way.

Activities and Grading

Over the years, I've found that medium-sized classes like ours work nicely with a system called "Team-Based Learning" (TBL). This works especially well in classes where students have a diversity of previous experience and academic strengths. Don't worry: this is not the same as "group work;" my previous students have generally found that their teams are a really important source of support in the course. We'll talk about this more during the first week of class, but in the interim you can read a brief description of how things work here.

The first part of the semester will be dedicated to making sure everyone has a decent grasp on the python concepts and techniques we'll need. As the semester progresses, you'll work on a sequence of projects; early projects will have a lot of support and guidance from me, but later ones will offer you more opportunities for autonomy, exploration, and self-expression, culminating in a final project which will be presented during our final exam time. Each of these projects will be "group" projects in a sense, but you'll each have specific responsibilities. (Because this is the first semester this course is being offered, I'm being intentionally vague about the timing and character of our acivities—we'll play it by ear to some extent, but there won't be any surprises.)

Grading will have three elements: the team grade (each member of a team will get the same grade here), the peer evaluation grade (members of the team will assess the contributions of their teammates), and an indidivual grade (your individual scores on homework, quizzes, exams, etc.).

In sum, the activities that will contribute to your course grade are:

We'll discuss the relative weighting of these items in class.

Other Course Policies

Communication and Device Usage

Coming to my office hours is the best way to get my undivided attention. When you can't make it to office hours to ask a question, contact me through Moodle messaging or my college email address. If you message me after 5pm or on the weekend, I may not respond until the next weekday.

Our course content obviously lends itself to the classroom use of laptops, tablets, and phones; I expect to make use of Moodle during class as well. However, I expect you to demonstrate your respect for yourself and others by limiting your use of these devices to classroom-relevant activities. In particular, use of email, social media, or the general web is not acceptable unless I specifically ask you to. I reserve the right to impose grade penalties, after a warning, for this kind of inappropriate device usage.

Final Exam

Below is the final exam policy from page 53 of the MOE:

4. Examinations:
a. Course examinations and quizzes are to be given during the regular class period as specified in the syllabus. Instructors should not give a unit exam during the last week of classes if they have scheduled a final exam during exam week.
b. Final examination week is included in the calculation of credit hours required by the College’s accreditor. Therefore, exams must be administered during the designated time period of each final exam week. Early final examinations are not permitted. If the course does not require a final exam, a class meeting must be scheduled during the designated period or another assignment requiring no less than 2.5 hours of student work per course credit must be scheduled.

Email

Students are expected to read their Alma College email on a daily basis. Important (and time-sensitive) messages about this class and other campus updates could be sent at any time, and email is one of the most common channels for sharing that information. I may not respond to emails sent after 5pm or on the weekend until the next business day.

Academic Integrity

In view of the college’s commitment to ethical integrity, it must take strong exception to behavior which is untruthful. Academic dishonesty includes the following:

Disciplinary action following dishonesty is handled by the faculty member. It may result in failure of the course involved. All infractions and actions will be reported to and recorded in the Provost’s Office. Repeated evidence of academic dishonesty is reviewed by the Provost and may involve more severe penalties.

In general, I will encourage collaboration during class, but I also expect you to demonstrate your ability to work effectively on your own. If you have questions about my policies and/or the College's policies, don't hesitate to ask.

Diversity, Inclusion, and Accessibility

I am committed to creating an inclusive classroom that respects a wide range of experiences, viewpoints, and abilities. Please don't hesitate to talk with me or the Center for Student Opportunity (see below) if there is anything I can do to increase your opportunities for learning in our classroom.

Campus resources

Accommodations for students with disabilities

Alma College is committed to providing equal opportunity for participation in all programs, services and activities for persons with disabilities. If you have a disability and you would like to request accommodations, please see Rhonda Lynn (linnrm@alma.edu) in the Center for Student Opportunity (CSO) so that such accommodations can be considered. If you currently receive accommodation letters from the CSO, please meet with me outside of class to discuss the provisions of those accommodations as soon as possible.

Writing Center

For support with your writing projects, please visit the Alma College Writing Center, which strives to assist Alma student writers at all levels of experience and in any course or major. Peer writing consultants work one-to-one with students to help at any stage of the writing process -- from brainstorming to drafting to revising to editing a final draft. The Writing Center is located in the library near the Smith Room, and it is open during the fall and winter semesters: Mondays thru Thursdays from 2-5 and 6-10 pm and on Sundays from 7-10 pm. Hours are limited during exams week. To schedule an appointment, please stop by during the Center's open hours or visit www.alma.mywconline.com.

Tutoring

Tutoring is available for this course through the Center for Student Opportunity (CSO). Please stop by the CSO and complete a tutor request form (yellow) located by the front door. You will be matched with a faculty recommended tutor within a couple of days of your request. If you have any questions or concerns regarding tutoring, please contact Rhonda Linn (linnrm@alma.edu).

Career Development

Career development can do more than help you with the job application process. Our Career Coaches are equipped to help you figure out what academic pathways make the most sense given your goals for after graduation. If you have questions about how to prepare for life after college please make an appointment with Maddie Moeggenborg (moeggenborgmm@alma.edu).

Diversity and Inclusion Office

The Office of Diversity and Inclusion at Alma College strives to provide opportunities for students to learn about self and others while creating spaces for each of us to be our most authentic selves. The diversity programming should challenge and encourage us to move beyond our comfort zones. The Office of Diversity and Inclusion is a space and resource for all students, staff, faculty and administrators to learn about our differences and how to be intentionally inclusive. For more information, or to get involved, please contact the Director of Diversity and Inclusion, Dr. Donnesha Blake at blakeda@alma.edu.

Civil Rights and Title IX

Alma College complies with all relevant federal and state laws banning discrimination in private institutions of higher education. Titles VII and IX of the Civil Rights Act are designed to protect equality of educational opportunity for all students and of employment for all faculty and staff. The full set of policies and procedures that the college has established to protect these rights are consolidated into a single document available at this link: https://www.alma.edu/live/files/3195-civil-rights-policy-november-2018. For more information, please contact our Civil Rights and Title IX Coordinator Kevin Carmody at carmodykd@alma.edu.

Starfish

Alma cares about your success! This course utilizes the Starfish Student Success platform. Starfish is an online notification system used by faculty to communicate with students and support personnel regarding academic achievements and to identify areas for improvement. In addition to awarding kudos to acknowledge excellent performance, Starfish is also used by faculty and staff to raise early alerts and to direct students to free resources such as tutoring, supplemental instruction, or career services. Starfish referrals are designed to help students identify strategies to achieve their academic goals. Students are encouraged to take advantage of the many opportunities offered at Alma to promote academic success. To access Starfish, log into inside.alma.edu and click the Starfish link. To learn more about Starfish, contact Rhonda Linn (linnrm@alma.edu) in the CSO.