Syllabus
Course Overview
This course provides executives with a framework for understanding and evaluating the many trade-offs involved in building and using large, complex analytics systems.
Educational Objectives
By the end of this course, you should be able to:
- Recognize the efficacy of spreadsheet, database and programming analysis and apply analytical tools using Excel, SQL, and Python to solve problems
- Identify and weigh trade-offs when making decisions about data systems, such as time versus space, build versus buy, and convenience versus security
- Ask the right technical questions of the VP of engineering, the CTO, the CSO, the VP of QA, and the VP of IT
- Understand IT infrastructure as a framework that will last longer than any particular technology
- Arbitrate conflicts between reports, such as the CTO, CFO, CSO
- Assemble a system from components
- Apply an understanding of the fundamentals that underlie evolving technologies
Grading
All courses in the Harvard Business Analytics Program are graded Pass/Fail. The grading will take into account participation in all problem sets and assignments, quizzes, as well as participation in the synchronous classroom and in asynchronous elements. Assignments will be due prior to each live session. Since the assignments are part of the asynchronous completion requirements, missing 3 or more deadlines will result in a failing grade for the course.
- Pass
- Completed all required assignments and engaged actively in synchronous classroom sessions and participated in group discussions or activities on the online campus.
- Fail
- Did not meet minimum standards of the course. Any failing grade will render the participant unable to receive the program certificate.
Classroom Expectations
Live sessions will be the primary class component to accompany the async material. Attendance for these sessions is expected once a week, as is adherence to the classroom expectations. We treat the virtual classroom the same way we treat an in-person class experience. For each live class, please take care to
- arrive on time (having watched the week’s asynchronous videos and having submitted the week’s assignment),
- join from a quiet space (and not from a bed, car, hammock, plane, or train),
- participate with your camera turned on for the duration of the session (using horizontal, not vertical, video),
- raise your virtual hand in Zoom to ask a question or contribute to the discussion, and
- mute your microphone until you are called on.
If unable to accommodate these norms some week, please watch the live class’s recording rather than tune in, suboptimally, in real time.
Academic Honesty
The course’s philosophy on academic honesty is best stated as “be reasonable.” The course recognizes that interactions with classmates and others can facilitate mastery of the course’s material. However, there remains a line between enlisting the help of another and submitting the work of another.
The essence of all work that you submit to this course must be your own. Collaboration on assignments is permitted to the extent that you may ask classmates and others for help so long as that help does not reduce to another doing your work for you. Generally speaking, when asking for help, you may show your work to others, but you may not view theirs.
- Not Reasonable
- Using AI-based software (such as ChatGPT, GitHub Copilot, the new Bing, et al.) that suggests or completes answers to questions or lines of code.
- Reasonable
- Using CS50’s own AI-based software, including cs50.ai and cs50.dev.
Office Hours
Office hours will be hosted multiple times a week by each of the course’s teaching Fellows (TFs). These will be optional opportunities to chat with the TFs and ask general questions related to the course. Office hours will have a set schedule for the first four weeks of the course, but they will become by-appointment only during the last four weeks of the course.
Peer Learning Sessions
Peer learning sessions will be offered at multiple time slots each week and are a regular opportunity to engage with your fellow classmates to discuss and collaborate on each week’s topics. Students must attend at least one peer learning session per week.
Guidelines
Mindful of the course’s policy on academic honesty, peer learning sessions are a chance to share advice, not answers. This is especially so during the first four weeks of the course when the focus is on coding. Those more comfortable are encouraged to provide less-comfortable classmates with advice that help the latter to get on track and ultimately to find their own solutions. The course’s Teaching Fellows will model this same approach in office hours. With the above in mind, the solution for one item of each week’s assignment will be designated as openly discussable without restriction during peer learning sessions (see each week’s assignment for more details).
Session Plan
This course follows an eight-week session plan.
Week 1: Thinking about Data
Week 1 provides an overview of spreadsheet, database, and programming analysis. Students will apply analytical tools using Excel to solve problems. Students will think about how data is organized using these technologies and begin to hypothesize about the advantages and challenges presented by each.
Objectives this week include:
- Recognize the efficacy of spreadsheet, database, and programming analysis and apply analytical tools using Excel to solve problems.
- Hypothesize about the advantages and disadvantages of various organizational strategies for data.
- Build spreadsheet-based formulas to improve the design of existing spreadsheets.
Course-level objectives (CLOs) addressed: 1,2,3,4,5,6,7
Assignments: Assignment 0, Assignment 1
Software used this week: Excel
Week 2: Data at Scale
Week 2 examines trade-offs when making decisions about data systems, such as time versus space, build versus buy, and convenience versus security. Students will apply analytical tools using SQL to solve problems. Students will learn more tools to organize data using these technologies and further hypothesize about the advantages and challenges presented by each.
Objectives this week include:
- Recognize the efficacy of spreadsheet, database, and programming analysis and apply analytical tools using SQL to solve problems.
- Compare and contrast the tradeoffs when making decisions about data systems, such as time versus space, build versus buy, and convenience versus security.
- Demonstrate the use of analytical tools within SQL to solve problems.
Course-level objectives (CLOs) addressed: 1,2,3,4,5,6,7
Assignments: Assignment 2
Software used this week: Excel, DB Browser for SQLite
Week 3: Introduction to Programming in Python
Week 3 explores and assists students in developing an understanding of the fundamentals that underlie evolving technologies in SQL and Python. Students will further explore the right technical questions of the VP of engineering, the CTO, the CSO, the VP of QA, and the VP of IT.
Objectives this week include:
- Recognize the fundamentals that underlie evolving technologies in SQL and Python.
- Hypothesize the right technical questions to ask of the VP of engineering, the CTO, the CSO, the VP of QA, and the VP of IT.
- Demonstrate the fundamentals of Python-based programming.
Course-level objectives (CLOs) addressed: 1,2,3,4,5,6,7
Assignments: Assignment 3
Software used this week: Visual Studio Code
Week 4: Data Structures in Python
Week 4 further deepens students’ developing understanding of the fundamentals that underlie evolving technologies in SQL and Python. Students will develop awareness about how to arbitrate conflicts between reports, such as the CTO, CFO, and CSO.
Objectives this week include:
- Recognize the fundamentals that underlie evolving technologies in SQL and Python.
- Hypothesize the right technical questions to ask of the VP of engineering, the CTO, the CSO, the VP of QA, and the VP of IT.
- Demonstrate a familiarity with the fundamentals of Python-based programming.
Course-level objectives (CLOs) addressed: 1,2,3,4,5,6,7
Assignments: Assignment 4
Software used this week: Visual Studio Code
Week 5: Monte-Carlo Simulation, Machine Learning, and Time-Space Tradeoffs
Week 5 still further deepens students’ developing understanding of the fundamentals that underlie evolving technologies in SQL and Python. With their advancing knowledge, students will identify and weigh trade-offs when making decisions about data systems, such as time versus space, build versus buy, and convenience versus security.
Objectives this week include:
- Recognize the fundamentals that underlie evolving technologies in SQL and Python.
- Hypothesize the trade-offs when making decisions about data systems, such as time versus space, build versus buy, and convenience versus security.
- Demonstrate a familiarity with the fundamentals of Python-based programming.
Course-level objectives (CLOs) addressed: 1,2,3,4,5,6,7
Assignments: Assignment 5
Software used this week: Visual Studio Code
Week 6: Artificial Intelligence
Week 6 will allow students to develop and apply their understanding of the fundamentals that underlie evolving technologies explored earlier in the course related to artificial intelligence. Specifically, students will ask the right technical questions of the VP of engineering, the CTO, the CSO, the VP of QA, and the VP of IT relating to this emerging technology.
Objectives this week include:
- Recognize the fundamentals that underlie evolving technologies explored earlier in the course to artificial intelligence.
- Hypothesize the right technical questions of the VP of engineering, the CTO, the CSO, the VP of QA, and the VP of IT relating to this emerging technology.
- Demonstrate an awareness of the ethical, social, and technological implications of artificial intelligence.
Course-level objectives (CLOs) addressed: 1,2,3,4,5,6,7
Assignments: Assignment 6
Week 7: Computation at Scale
Week 7 will explore how systems are assembled from components. Students will engage in learning activities in which they assemble such systems while considering IT infrastructure as a framework that will last longer than any particular technology.
- Recognize how systems are assembled from components, being able to name each.
- Hypothesize how one’s own IT infrastructure can function as a framework that will last longer than any particular technology.
- Apply the lens of an IT infrastructure as a framework to real-world cases.
Course-level objectives (CLOs) addressed: 1,2,3,4,5,6,7
Assignments: Assignment 7
Week 8: Securing Systems & Wrapping Up
Week 8 will explore trade-offs when making decisions about data systems, especially as it relates to convenience versus security. This week will also function as a connected closure to the course where students will reflect upon their learning associated with each of the course objectives.
- Recognize trade-offs when making decisions about data systems, especially as it relates to convenience versus security.
- Hypothesize shortcomings in one’s own system security.
- Apply the fundamentals of security in assessing opportunities for growth in real-world cases.
Course-level objectives (CLOs) addressed: 1,2,3,4,5,6,7
Assignments: Assignment 8