Course Syllabus

mediaBanner.jpg

Course Syllabus

Overview

Welcome! Data Science Programming builds on general programming principles and teaches students how to write programs in the context of data science applications. It focuses on leveraging preexisting libraries to accomplish data retrieval, preparation, prediction, and analysis tasks.is a unique course that will increase your data literacy. Upon completing this course, you will be able to:

  1. Use functions, data structures, and other programming constructs efficiently to process data.
  2. Programmatically load data from various types of data sources, including files, databases, and remote services.
  3. Use data science libraries to perform analysis, produce charts, and prepare data for machine learning algorithms.
  4. Predict unknown outcomes from data using machine learning.
  5. Collaborate and share your work with industry-leading tools.

This course also strives to fulfill the BYU-Idaho mission of developing “disciples of Jesus Christ who are leaders in their homes, the Church, and their communities.” Knowledge is a powerful tool. Learning how to extract knowledge from data will increase your ability to lead and influence your communities.

Requirements

Prerequisites

  • Complete 1 of the following
    • Take 1 of the following:
      • CSE110 - Introduction to Programming (2)
      • PH135 - Introduction to Scientific Computing in Physics (2)
      • CSE111 - Programming with Functions (2)

The prerequisite for this course is an introductory programming course in Python (CSE 110Links to an external site. or PHY135). We recommend taking CSE 111Links to an external site. before or during the same semester you take this course - especially if programming is complicated for you. We assume that you do know what the Terminal is and how to execute scripts.

An understanding of standard deviationLinks to an external site. and varianceLinks to an external site. will be valuable.

Course Structure

Course Learning Outcomes (CLOs)

  1. Use functions, data structures, and other programming constructs efficiently to process data.
  2. Programmatically load data from various types of files.
  3. Use data science libraries to perform analysis, produce charts, and prepare data for machine learning algorithms.
  4. Implement the fundamentals of a machine learning project.
  5. Share your work with industry-leading tools.

Structure

The course follows these principles of teaching Data Science

  • Organize the course around a set of diverse projects
  • Integrate computing into every aspect of the course
  • Teach abstraction, but minimize reliance on mathematical notation
  • Structure course activities to realistically mimic a data scientist’s experience
  • Demonstrate the importance of critical thinking/skepticism through examples

There are a few types of activities in this class

  • Core Tasks
  • Stretch Tasks
  • Class collaboration/engagement
  • Coding Challenges

Tasks - (1st submission, No AI)

There are usually 2 tasks due per week. There is reading associated with each task. The reading should be completed before the day the material is covered in class.

Each task may be made up of multiple parts/questions. A task will be due shortly after we cover it in class. We will introduce the basic skills needed for a task and try to give you a foundation, but not all commands or approaches needed for the task will necessarily be covered. 

Tasks are assessed as "complete" or "incomplete". If a full and honest attempt is made at a task, but it is marked incomplete, it may be resubmitted within 2 weeks of being graded for full credit. No initial submissions will be allowed for a task after a new unit has begun.

`Tasks` first attempts are to be attempted on your own, `without the assistance of AI.` This is to build your DS foundational skills with coding, and to help you recognize and question the output of AI. You will need to use AI for the Stretch Tasks. 

After your first submission without AI, if you get stuck and do use AI for the tasks, you need to comment in Canvas how you used it, and only use AI as a backup to get unstuck or for troubleshooting code. You need to be upfront and honest about your AI usage with every task.

Stretch Tasks - (Use AI)

Stretch tasks are a lot like tasks. They are not necessarily more difficult than a task and can be treated as part of your regular homework. However, they may require skills that are not necessarily covered in class, which will require some additional initiative/learning on the student's part.

There is one stretch assignment at the end of each unit. Stretch Tasks are assessed as "complete" or "incomplete".  The entire task must be satisfactorily completed before being marked complete. If a full and honest attempt is made for a stretch task, but it is marked incomplete, it may be resubmitted for full credit within two weeks of being graded.

`Stretch Tasks` are to be attempted `with the assistance of AI`. This is to test your DS foundational skills with coding from the tasks, and to help you question the output of AI.

Coding Challenge - (No AI)

These coding challenges serve two purposes:

  • A chance for the instructor to see original coding work from students; a check to see whether the quality of work being submitted by a student is consistent with the quality of work a student can produce completely on their own.
  • An indicator of where a student’s grade should fall (or rise) if there is a large discrepancy in the different dimensions of the specifications grading table below.
  • This is also good practice for a job interview scenario where they request the completion of a coding task.

Your instructor may choose to have 1 or 2 challenges. Challenges are evaluated using a number between 0 and 4. 4 is excellent, 3 is satisfactory, and 2 is evidence of competency but has not yet mastered the skills. A score of 1 or 0 indicates little to no evidence of competency has been demonstrated. The challenges are a qualitative assessment that is incorporated into the grade subjectively, not a quantitative input to a grading algorithm/equation. Generally, a student performing well in the course should expect a 3 on the challenge. 

No AI can be used during the coding challenge; however, you can use all your previous code from all the previous tasks.

Use of AI

Generative AI is revolutionizing the way work gets done. Like any tool, an understanding of the underlying concepts and what/how things should be done will make the tool more useful. Check out our class AI policy.Links to an external site.

In short, the use of tools, like ChatGPT, CoPilot, Gemini, etc., are allowed to help. However, it should not be used as a substitute for thinking or knowing the finer nuts and bolts of the syntax! The only generative AI you should use for complete assignments is our class chatbot. It is specifically designed to help you along and learn, without doing the work for you. If you use generative AI, you should document in your submission what you used it for.  Nor should such tools be used to write about what meaningful insights can be extracted from your analysis. According to employers, communication is a key skill (and often a deficiency for many STEM majors), so practice writing without the help of AI.

This chatbot will be linked in a resource folder at the top of the Slack channel for this course.

Expectations

Workload

Students are expected to work 6–8 hours a week on this course.

Late Work

As a sign of professionalism and respect, you should complete your work on time. However, your instructor has the discretion to accept late work or extend due dates as appropriate.

Retries (Use AI)

Students will have an opportunity to retry their tasks once after initial grading. Students may not have more than one retry on each task. If you use AI on the resubmission, you must document it in your submission comments in Canvas. See the section on the AI policy.

Extra Credit

Since students will be allowed to retry their projects, extra credit will not be allowed.

Specifications Grading

Grading is a brutal outcome of mass learning and academia. This is a class at a university, and therefore, students will have to manage this side effect. However, it does not have to control our learning or thinking in this class. Learning and thinking should motivate each activity.

As a team, the teacher and the student have the challenge to improve in three months. Instructors have worked hard to identify the specifications needed for a data visualization specialist (as an undergraduate). The instructor's goal is to align the student's grade with the skill specification the student has mastered. In other words, the grade the student wants will determine how much work the student will do. Tasks will not be traditionally graded. If the work meets the specified criteria, the student will get full credit. There is no partial credit on tasks.

In a specifications-grading system, all tasks are evaluated on a high-standards, complete-or-incomplete basis using detailed checklists of task requirements and expectations. Letter grades are earned by passing marks on a set of tasks. This system provides for a variety of choices and is closer to how learning and work are done in the real world. It will be easy for the instructor to tell if the work is complete, done in good faith, and consistent with the requirements.

Here are the grading guidelines students should use when developing their final grade proposal at the end of the year. In all grade levels above a C+, the final grade letter assignment must be completed.

NOTE: The definitive word is "complete." Starting them or getting them almost done is not complete.

Grading Competencies

  Grade

Tasks (18)

Stretch Tasks (5) DS Community Tasks Methods & Calculation Quizzes
All@100%
Coding Challenge Course Goal Letter (End)
Leader A 17-18 >= 3 >= 3 (incl. Certification) 6 >=3 1
Supporter B 15-16 >= 2 >= 2 (incl. Certification) 5 >=3 1
Listener C 13-14 >= 1 >= 1 3 >=2 1
Asleep D <13 >= 0 >= 0 2 0

The starting point for grade determination should start with the task count; half-step adjustments (up or down) may follow as a result of the other graded dimensions and the coding challenge.

Most learning management systems are not built to handle specification grading well. Therefore, the grade in I-Learn may not reflect the grade a student can anticipate earning. A grade assignment worth 100% of your grade will be updated after the `W07: Course Goals Letter (Mid)` and again at the `W14: Course Goals Letter (End)`. 

The Data Science Community is essential to having the skills you're learning to `become` a part of you. Do not save the Career Readiness Certification for the end of the semester; the Career Center may run out of appointments.

At the end of the semester, students will write a letter to request the grade they believe they earned, using the table above. The student may then have an opportunity for an exit interview to review the grade request with the teacher if desired. An overwhelming majority of students get the grade that they request. If a change is made, it is typically small.

Grading Scale

Letter Grade Percent
A 100%–93%
A- 92%–90%
B+ 89%–87%
B 86%–83%
B- 82%–80%
C+ 79%–77%
C 76%–73%
C- 72%–70%
D+ 69%–67%
D 66%–63%
D- 62%–60%
F 59% and lower

 

University Policies

Students with Disabilities

BYU-Idaho is committed to providing a working and learning atmosphere that reasonably accommodates qualified persons with disabilities. Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with the student and instructor by BYU-Idaho Disability Services. If you need assistance or feel you have been unlawfully discriminated against based on disability, you may seek resolution through established policy and procedures.

If you have any disability that may impair your ability to complete this course successfully, please contact Disability Services as soon as possible, preferably before the beginning of the semester, to ensure that you receive appropriate accommodations.

Disability Services Contact Information:

 

Other University Policies

Go to the Student Resources module to review the university policies regarding honesty, online etiquette, communication expectations, and so on.

Course Summary:

Course Summary
Date Details Due