Catalog description: Provides a gentle introduction to the exciting world of big data and data science. Students expand their ability to solve problems with Python by learning to deploy lists, files, dictionaries and object-oriented programming. Data science libraries are introduced that enable data to be manipulated and displayed.
The course runs May 18 through June 26, with assignments due at 5pm on most weekdays. We will have no official course meeting time and all materials will be available online for you to complete anytime before their due date. One of the course assistants or I will be available for two hours per day for office hours to help you work through any issues you may have. I’ll ask for your availability in the first assignment and set the daily office hours based on times that work best for the most people.
We will use a free, online textbook for this course. You will need to sign up for an account here. Enter
csci127summer2020 for the course name. Watch the video here for help creating an account, navigating the textbook, and completing the assignments, and the video here for some additional information on assignments. To get full credit for reading assignments, simply complete the assigned number of activities inside the book before the deadline.
We are lucky to have two excellent course assistants who will be helping hold office hours and grade assignments: Gerard Shu Fungwi and Andrew Johnson. You can contact them via Slack.
Gerard, Andrew, and I will hold daily office hours on Slack to answer any questions you have. Post in the #officehours channel with a question and we can chat about it in a thread. If needed, we can start a video call so you can share your screen. If you have anything that you need to ask privately, you can send me a direct message on Slack.
You can find some additional Python problems to work on here. These will be particularly useful for preparing for the quizzes.
SmartyCats, MSU’s on-campus tutoring center, is offering tutoring services over video, text, voice call, and email during the summer session. The tutor for our course is Arnold Smithson, who tutored for us last year. A number of students worked with him last year and found it very helpful! To book a session with him, go to the SmartyCats website, click “Find a SmartyCats Tutor”, and log in with your netid. Then select our course (CSCI 127) and choose a time. It costs $2 per hour for groups of 1-4 students.
We’ll be using Slack for all course communication (except about grades or other sensitive information). It is very important that you join the Slack workspace and check it every day of the course to keep up with announcements and to get help when you need it. There are plenty of videos online that can help you use Slack; most importantly, you should customize your notification settings!
Visualizing your code
You can paste your Python code into the tool here and see what executes with every step.
Checking your work
You can compare the output of your program with a sample output using a tool like diffchecker.com. Just copy the sample output on one side and your program’s output on the other. After you press the Find Differences button, you will see any differences between the text on the left and the text on the right. You should aim to get your program’s output to be identical to the sample output.
In order to work on labs and programming assignments on your personal computer, you will need to install Python and install a few packages. I made videos to help with installation for both Mac and Windows. You can find them here.
Download the macOS 64-bit installer at the bottom of this page and install. Then, to install packages, open a terminal window and run each of the following:
pip3 install --user numpy pip3 install --user matplotlib pip3 install --user pandas pip3 install --user scikit-learn
Download the Windows x86-64 executable installer file at the bottom of this page and install. When installing, be sure to check the box to add Python to the PATH. Then, to install packages, open a terminal window and run each of the following:
python -m pip install numpy python -m pip install matplotlib python -m pip install pandas python -m pip install scikit-learn
By the end of this course, students should be be able to:
- Utilize lists, files, dictionaries and arrays to solve problems in Python.
- Utilize fundamental object oriented principles such as classes, objects, methods and inheritance to solve problems in Python.
- Utilize data science libraries to solve data science problems in Python.
- Understand the broad area of data science and its relevance.
- Quiz 1: 10%
- Quiz 2: 10%
- Quiz 3: 10%
- Labs: 25% (all weighted equally)
- Completion of interactive textbook assignments: 15% (all weighted equally)
- Programming homework assignments: 30% (all weighted equally)
After any curving, your grade will be determined by your total score as follows: 93+: A; 90+: A-; 87+: B+; 83+: B; 80+: B-; 77+: C+; 73+: C; 70+: C-; 67+: D+; 63: D; 60: D-.
On labs, programming homework assignments, and interactive textbook questions, you may:
- Share ideas with other individuals or groups.
- Help other individuals or groups troubleshoot problems.
You may not:
- Share code you or your partner has written with other individuals or groups.
- Submit code that you or your partner did not write.
- Modify another group’s or individual’s solution and claim it as your own. Failure to abide by these rules will result in an F for the course and being reported to the Dean of Students.
Montana State University’s campuses are committed to providing an environment that emphasizes the dignity and worth of every member of its community and that is free from harassment and discrimination based upon race, color, religion, national origin, creed, service in the uniformed services (as defined in state and federal law), veteran’s status, sex, age, political ideas, marital or family status, pregnancy, physical or mental disability, genetic information, gender identity, gender expression, or sexual orientation. Such an environment is necessary to a healthy learning, working, and living atmosphere because discrimination and harassment undermine human dignity and the positive connection among all people at our University. Acts of discrimination, harassment, sexual misconduct, dating violence, domestic violence, stalking, and retaliation will be addressed consistent with this policy.
If you have a documented disability for which you are or may be requesting an accommodation(s), please contact me and the Office of Disability Services as soon as possible.
How to succeed in this class
What you can do:
- Keep up with the course by checking Slack, being aware of the course schedule, and doing all assignments on time.
- Be an active participant in class. This means asking and answering questions using Slack, attending office hours to get one-on-one help when needed, and contacting me via Slack if you have any questions outside of office hours.
- Be respectful of both your classmates and me.
- Do your own work.
What I can do:
- Grade and return labs and programming assignments before the following day’s office hours.
- Be available every week day during that day’s office hours for video meetings or to answer questions via chat on Slack.
- Respond to all Slack messages within one business day.
- Create a course atmosphere conducive to learning by respecting all of my students and being enthusiastic about course material and my role in helping you learn.