Course Syllabus

mediaBanner.jpg

Course Syllabus

Overview

Welcome! Data Science Programming is a unique course that builds on general programming principles and increases your data literacy by teaching you to write programs in real data science contexts. 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

The prerequisite for this course is an introductory programming course in Python (CSE 110 or PH135). We recommend taking CSE 111 before or during the same semester — especially if programming is complicated for you. We assume you know what the Terminal is and how to execute scripts.

An understanding of standard deviation and variance will be valuable.

Course Structure

Structure

The course follows these principles of teaching Data Science:

  • Organize the course around a set of diverse tasks
  • 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 and skepticism through examples

There are a few types of activities in this course:

  • Core Tasks
  • Stretch Tasks
  • DS Community engagement
  • Coding Challenges

Tasks — (1st submission, No AI)

There are usually 2 tasks due per week. Study materials for each task are linked inside the task on the course site — complete them before starting your code. Tasks are due by Saturday night of the week they are assigned.

Each task may be made up of multiple parts and questions. We will introduce the foundational skills needed, but not every command or approach will be covered — some independent exploration is expected and part of the learning.

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

First attempts must be completed without AI. This builds your foundational DS skills and helps you recognize and question AI output. You will use AI for Stretch Tasks. After your first submission, if you use AI to get unstuck, comment in Canvas explaining how you used it. Be upfront and honest about AI usage on every task.

Stretch Tasks — (Use AI)

Stretch tasks are similar to core tasks and can be treated as part of your regular coursework. They may require skills not fully covered in the unit materials, which calls for some additional initiative and learning on your 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 but 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 tests your DS foundational skills from the tasks and trains you to evaluate and question AI output.

Coding Challenge — (No AI)

Coding challenges serve two purposes:

  • A chance for the instructor to see original coding work — a check that the quality of submitted work is consistent with what a student can produce independently.
  • An indicator of where a student's grade should fall (or rise) if there is a large discrepancy across the grading dimensions below.
  • Good practice for a job interview scenario where a coding task is required.

Your instructor may choose to have 1 or 2 challenges. Challenges are evaluated on a 0–4 scale: 4 is excellent, 3 is satisfactory, 2 shows competency but not yet mastery, and 1 or 0 indicates little to no demonstrated competency. The challenge is a qualitative assessment incorporated subjectively, not a quantitative input to a grading equation. A student performing well in the course should generally expect a 3.

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

Use of AI

Generative AI is revolutionizing the way work gets done. Like any tool, understanding the underlying concepts makes it more useful. In short, tools like ChatGPT, Copilot, and Gemini are allowed to help — but not as a substitute for thinking or understanding the syntax. If you use generative AI, document in your submission what you used it for. Do not use AI to write about insights from your analysis — communication is a key professional skill, so practice writing without it.

The DS 250 AI Tutor chatbot is available in the Student Resources module. It is specifically designed to help you learn without doing the work for you.

Expectations

Workload

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

Late Work

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

Retries (Use AI)

Students may retry each task once after initial grading. If you use AI on the resubmission, document it in your Canvas submission comments.

Extra Credit

Since students may retry their tasks, extra credit will not be offered.

Specifications Grading

Grading is a natural outcome of academia, but it does not have to control how you learn or think in this course. Learning and thinking should motivate every activity.

The instructor's goal is to align your grade with the skill specification you have mastered — the grade you want determines how much work you do. Tasks are not traditionally graded. If your work meets the specified criteria, you receive 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. Letter grades are earned by passing a set of tasks. This system provides choices and more closely mirrors how learning and work happen in the real world.

Use the table below as your guide when developing your final grade proposal. NOTE: The definitive word is "complete" — starting a task or nearly finishing it does not count.

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

The starting point for grade determination is the task count; half-step adjustments (up or down) may follow based on the other graded dimensions and the coding challenge.

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

The Data Science Community is essential to making the skills you are learning 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, you will write a letter requesting the grade you believe you earned. You may then have an opportunity for an exit interview with the instructor. An overwhelming majority of students receive the grade they request — any changes are typically small.

Grading Scale

Letter Grade Percent
A100%–93%
A-92%–90%
B+89%–87%
B86%–83%
B-82%–80%
C+79%–77%
C76%–73%
C-72%–70%
D+69%–67%
D66%–63%
D-62%–60%
F59% 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.

Other University Policies

Visit the Student Resources module to review university policies on honesty, online etiquette, communication expectations, and more.

Course Summary:

Course Summary
Date Details Due