CSCI 127: Joy and Beauty of Data
Course Description
CSCI 127. Joy and Beauty of Data. 4 Credits. (3 Lec, 1 Lab)
(F, Sp, Su) 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. To succeed in this course, either basic computer literacy or CSCI 107 is recommended.
Syllabus: Spring Semester 2025
Dates and assignments more than a week out may be adjusted as the semester goes on. Please consider this web page as a living document subject to change.
Week |
Date |
Subject |
Graded Material |
1 Intro |
-- W Jan 15 F Jan 17 |
Weekly Assignments can be found on Brightspace (D2L). |
|
2 Coding |
M Jan 20 W Jan 22 F Jan 24 |
Lab 1 |
|
3 |
M Jan 27 W Jan 29 F Jan 31 |
Program 1 Lab 2
|
|
4 |
M Feb 3 W Feb 5 F Feb 7 |
Lab 3 |
|
5 |
M Feb 10 W Feb 12 F Feb 14 |
|
|
6 Lists |
M Feb 17 W Feb 19 F Feb 21 |
Program 2 Lab 4 |
|
7 Files |
M Feb 24 W Feb 26 W Feb 28 |
Lab 5 |
|
8 Dicts |
M Mar 3 W Mar 5 F Mar 7 |
Program 3 Lab 6 |
|
9 OOP |
M Mar 10 W Mar 12 F Mar 14 |
Lab 7
|
|
10 |
Mar 17- 21 |
SPRING BREAK - no classes
|
|
11 |
M Mar 24 W Mar 26 F Mar 28 |
Program 4 Lab 8 |
|
12 |
F Mar 31 W Apr 1 F Apr 3 |
|
|
13 Data Science |
M Apr 7 W Apr 9 F Apr 11 |
Lab 9 |
|
14 |
M Apr 14 W Apr 16 F Apr 18 |
Program 5 Lab 10
|
|
15 |
M Apr 21 W Apr 23 F Apr 25 |
Lab 11 |
|
16 |
M Apr 28 W Apr 30 F May 2 |
Lab 12 |
|
17 |
M May 5 |
Final Exam (Exam 3) (in class with pencil) FINALS WEEK - no classes |
8:00 am - 9:50 am
|
Meetings
- Monday, Wednesday, Friday; 9:00 am - 9:50 am in Norm Asbornson Hall Room 165
Instructor
- Mr. Daniel DeFrance
- Computer Science Office hours
- Office: Barnard Hall 358
- E-Mail: daniel.defrance@montana.edu
- Faculty Directory.
Teaching Assistants
TAs are responsible for live assistance during lab, holding office hours in the Student Success Center, answering emails, and grading assignments.
Regular Lab Sections
Section | TA | From | To | |||
1 | Alex Ellingsen | 8:00 am | 9:50 am | |||
2 | Kaden Bach | 10:00 am | 11:50 am | kadendabach@gmail.com | ||
3 | Sam Rollins | 12:15 pm | 2:05 pm | |||
4 | Anthony Mann | 2:15 pm | 4:05 pm | anthonystevenmann@gmail.com | ||
5 | Alex Ellingsen | 4:15 pm | 6:05 pm | |||
Lectures and Textbook
Lectures take place on Mondays, Wednesdays, and Fridays from 9:00 - 9:50 am in Barnard Hall Room 103. It's recommended you bring your laptop to follow along with in-class coding examples.
The main text we will use for this course free and online.
The table below lists out the schedule with links to lecture topics and what textbook sections to read for which days.
Labs
Labs meet in Roberts Hall Room 111 on Tuesdays. The time of your meeting will depend on the section in which you are enrolled. To find out about more, you can use the Schedule of Classes to filter for CSCI 127, which provides a list of all the sections, and at what the times they meet. It should take you an hour or two if you are well prepared (labs generally open at 8 pm on Monday evening so you can get a sneak preview), but you will have until midnight on Tuesday to submit your work to D2L for grading.
A Teaching Assistant (TA) will be in the room to answer questions, provide guidence, and grade the assigments. Each section will have a different TA, so get to know yours early, and take note of their office hours to visit them outside of lab time.
Programs
Programs are take-home assignments that are meant to take a bit more effort than the labs. Subsequently there are fewer of them you will have more time to finish. Programs are generally assigned every other week, and opening Monday morning, and closing Sunday night. It is strongly recommended you make every effort to finish the programs before the deadline, early in the week if possible. A tip: zeros are a lot worse than a plain old bad grade. If you get your program together enough that you think it would be worth some points, go ahead and submit it early with D2L -- you can always improve it and resubmit right up until the deadline.
Your TA will be familiar with the program and will grading it when your are finished, so they're a great resource to ask for help, but during lab times they will be focused on the lab. To get help with the programs, it's better visit the Student Success Center in Barnard Hall Room 259. Your TA will hold office hours there, but really anyone working there at the time you drop in should be able to sit down with you and help you with your program, even if they are a TA for a completely different class.
Exams
There are three exams over the course of the semester, including the final exam during finals week. The exams take place in the NAH class room during regular class hours (except for the final exam, which has its own schedule at the end of the semester.) These exams are all weighted evenly -- the final exam is not worth any more points than the other two.
Grading
Note: Practicums must be taken at the regularly scheduled time at the designated place and will not be given early or late.
- Weekly Labs - 40% (evenly weighted)
- Programs - 30% (evenly weighted)
- Practicums - 30 % (evenly weighted)
To pass the course, you must average at least 50% on the exams. Assuming that this is the case, grades will be determined (after any curving takes place) based on your class average as follows:
- 93+: A
- 90+: A-
- 87+: B+
- 83+: B
- 80+: B-
- 77+: C+
- 73+: C
- 70+: C-
- 67+: D+
- 63: D
- 60: D-
Course Outcomes
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.