CICS 397A (Fall 2020)

Greetings and Salutations

Welcome to CICS 397A! We are excited to have you enrolled for the coming semester, and we hope to create a learning environment where each individual feels recognized, supported, and celebrated. Please know that regardless of your background, age, race, ethnicity, geographical origin, citizenship status, language, sex, gender or gender identity,sexual orientation, disability, family status, religion, political views, military experience, socioeconomic status, or education, you are welcome in this class! Furthermore, the ideas and experiences that each one of you brings to our (virtual) classroom are crucial to our success. Thank you for being here. 

Below you'll find details on the course organization, along with policies on conduct, grading, and communication.  Please read it over in its entirety, and let us know if anything is unclear.    

[ Last updated: 22 August 2020 ]

Course Description  

The goal of this course is to familiarize participants with some of the most commonly used data analytics techniques, including methods for reducing data to informative statistics, predictive modeling, and cluster analysis. Students in this course will learn and use the Python programming language, creating scripts from the ground up to collect, manipulate, and analyze data sets. We will learn to ask and answer questions from data, and will cover all phases of the analytics process, from basic data wrangling and transformation to communicating through visualization. 

Learning Outcomes  
After completing the course, students should be able to:
Formally, the course prerequisites are COMPSCI 119 (or 121 or 186 or 187) and one of STATISTCS 240, OIM 240, PSYCH 240, STATISTCS 515, RES-ECON 212, or SOCIOL 212.  Informally, you are expected to come in with an understanding of basic statistics and probability theory, as well as some experience reading, writing, and structuring code in a modern programming language such as Java.  You are not expected to be fluent in the Python, and we will be covering different aspects of the language over the course of the semester.

The course schedule can be found here.

Course Policies

General Code of Conduct 

The course Code of Conduct can be found here.  Learn it, know it, live it

Homework Assignments and Grading
Your final grade will be calculated from your scores on homework assignments and exams, using whatever percentages within the following ranges will maximize your grade: 
40-60% Homework Assignments 
20-30% In-class "lab" exercises 
20-30% Final Project
+0-3% Participation (based on helpful use of class forums, office hours, and other forms of engagement) 

Homework Lateness Policy 

All assignments should be submitted through Gradescope.  You may submit one assignment up to 3 days late without penalty.  After that, any assignments submitted late will be subject to a 15% penalty per day (e.g., an assignment submitted 26 hours late will have its final score reduced by 30%).  No assignments will be accepted more than 3 days late.  You may request extensions due to serious and documented medical or family emergencies.

Homework Bug Bounties

As unimagineable as it may seem, homework assignments may occasionally contain errors or bugs in the supplied code.  The first person to identify an error or bug in the code and post about it to the class forum will receive a +5% bonus for their grade on that assigment.  The first person to post an elegant fix to the problem will receive +1-10% bonus (depending on the difficulty of crafting the solution or workaround).

Academic Honesty and Collaboration Policy

You are encouraged to discuss the programming projects with your peers, and may optionally partner with one other person to code/write up your solutions.  Both students are expected to be equal contributors, and are responsible for writing, understanding, and/or testing your solution.  For coding projects, I highly recommend pair programming.

In addition, we follow the University's Academic Honesty Policy and Procedures.  In particular, the following are prohibited: 
  • Misrepresenting code written by others as your own 
  • Sharing or making available your solutions to anyone other than your partner 
  • Posting or selling class materials or solutions online 
  • Claiming someone as a partner when they were not an equal contributor to the work 

All of the above is subject to change.