Skip to content

Course Materials for CMU Heinz course 95729: E-Commerce Tech

License

CC-BY-SA-4.0, MIT licenses found

Licenses found

CC-BY-SA-4.0
LICENSE_CONTENT
MIT
LICENSE_SOFTWARE
Notifications You must be signed in to change notification settings

losandes/heinz-95729

Repository files navigation

e-commerce

Course Description

In an age of ever-accelerating change, perhaps our greatest asset is our curiosity... a desire and self-guided ability to learn. Do you learn best through practice?

In E-Commerce Tech, you will apply emerging technologies to human needs right now. We begin by exploring a breadth of opportunities to build a shared context of what we might explore together. By the end of week three, you will choose a focus area and join a team to design and deliver a product that integrates Artificial Intelligence (AI), Machine Learning (ML), or Conversational User Interfaces (CUI) into a modern (web / slack / mobile) app.

In order to participate in this course, you need a laptop, and you must bring your laptop to each class/lab.

Topical Outline

Module 1: Breadth & Building Context (weeks 1 through 3)

  • Artificial Intelligence (AI) Fundamentals
    • Overview of AI: how might we anticipate what's next?
    • Types of AI: Generative AI, Composite AI, Machine Learning, etc.
  • Machine Learning in Web Development
    • Using ML for recommender systems in e-commerce
  • Conversational User Interfaces (CUI) and Bots
    • Personalization, and building trust and transparency to enhance sales
  • Discussions
    • You will choose to participate in a subset of several graded, asynchronous discussions enrich our learning environment
  • Selecting a Focus Area (Week 4)
    • At the end of week 3, we will participate in a workshop where you will choose a focus area for the 5-week team project

Module 2: Depth & Practice (weeks 4 through 8)

  • Planning and Design for AI-Driven Web Applications
    • Effective planning and design strategies
  • Team Dynamics
    • Techniques for distributing work while keeping order and perspective
  • Software Design Principles
    • Introduction to SOLID principles
    • Implementing design patterns: MVC, MVVM, Repository, Factory
  • Focus Areas (one or some of, not all of):
    • Multi-Agent System Development?: Combining Goal-Based Dialog Agents with LLMs
    • Privacy and Security Enhancement?: Using RAG to enable secure conversations
    • Real-World Integration?: Integrating AI solutions with real-world platforms
    • Behavioral Analysis and Recommendations?: Utilizing ML for pattern recognition and personalized recommendations
    • Algorithm Comparison?: Evaluating the strengths and weaknesses of different algorithms
    • Technical Proof of Concept?: Validating hypotheses through technical proofs of concept
    • Speech and Text Processing?: Converting language into intent and actionable steps
    • Multi-Page Applications (MPAs)?: Achieving a 100 Lighthouse performance score for an E-Commerce app
  • Projects Due (Week 8)
    • Summative assessment of your team's ability
  • Course Final (Week 8)
    • Summative assessment of your comprehension

Calendar

  • w1-c1: Course Introduction

  • w1-c2: AI Lesson

  • w2-c1: CUI P1 Lesson

  • w2-c2: CUI P2 Lesson

  • w3-c1: ML Lesson; Discussion Posts Due

  • w3-c2: Project Kickoff (ATTENDANCE MANDATORY)

  • w4-c1: Project Scope Negotiation Lab (ATTENDANCE MANDATORY); Discussion Comments Due

  • w4-c2: Design Lab (Scope Due; read about Planning Poker in #readings before attending)

  • w5-c1: SOLID Lesson

  • w5-c2: OFF/THANKSGIVING

  • w6-c1: Project Lab

  • w6-c2: Project Lab

  • w7-c1: Project Lab

  • w7-c2: Presentations (ATTENDANCE MANDATORY)

  • w8: Projects due on Friday by EOD

  • w8: Peer reviews due on Friday by EOD

  • w8: Final Exam (details shared elsewhere)

wn-cn stands for week number, class number. For instance, w1-c1 means the first lesson of week 1.

Course Learning Objectives

After completing this course, you should be able to:

AI and ML Fundamentals

  • Explain how machine learning can be used to provide product recommendations.
  • Explain how Natural Language Understanding (NLU) is applied to comprehend speech and written text.

Software Design Principles

  • Describe and demonstrate the SOLID principles for robust software design.
  • Describe and implement common design patterns such as MVC, MVVM, Repository, and Factory to create well-structured applications.

Stakeholder Communication

  • Effectively communicate project objectives and software designs to stakeholders.

Software Development

  • Write software that aligns with specified objectives and requirements.
  • Participate in source code management practices.

Adherence to Objectives

  • Read, write, and design software in alignment with project objectives and relevant specifications.

Project-Based Learning Objectives

Depending on the specific project you undertake, you should be able to:

Multi-Agent Systems

  • Combine Goal-Based Dialog Agents with Large Language Models (LLMs) to develop a multi-agent system capable of addressing user requests and intentions.

Privacy and Security

  • Enhance an LLM using Retrieval-Augmented Generation (RAG) to enable private and secure conversations about sensitive topics.

Integration and Real-World Applications

  • Integrate AI and ML solutions with real-world platforms and services, such as chatbots or payment gateways.

Behavioral Analysis and Recommendations

  • Utilize ML algorithms to identify patterns in user behavior and provide personalized recommendations based on these patterns.

Algorithm Comparison

  • Compare different algorithms for discovering frequent user behavior patterns, evaluating their strengths and weaknesses.

Technical Proof of Concept

  • Validate or refute hypotheses through the development of technical proofs of concept for proposed AI or ML solutions.

Speech and Text Processing

  • Convert spoken or written language into intent, entities, and actionable steps using NLU and other relevant techniques.

Web Development Contributions

  • Contribute to the development of server-side web application frameworks and client-side web Multi-Page Applications (MPAs) to introduce new features and functionalities.

These objectives provide a comprehensive framework for students to gain a solid understanding of AI and ML concepts and practical skills in web development while aligning their work with real-world needs.

Prerequisites

Proficiency with at least one modern programming language (i.e. JavaScript / Python / Go / C# / Java) and modern programming concepts.

Grading Rubric

Percent Component
30% Exam
50% Project
20% Participation & Discussions

Letter grade evaluation is described below. Final grades may be adjusted up or down based on the instructor's holistic assessment of each student's demonstrated performance and learning.

Percent Letter Grade Performance Level
99.0-100% A+ Reserved for truly exceptional performance
94.0-98.9% A Outstanding performance and quality of work along all dimensions, going beyond expectations, deliverables of highest professional quality
91.0-93.9% A- Excellent performance and quality of work along all dimensions, meets all expectations (but doesn't go beyond), deliverables of professional quality
88.0-90.9% B+ Good to very good performance and quality of work along most dimensions, meets expectations, but deliverables may be missing a required component
84.0-87.9% B Good overall performance and quality of work along most dimensions, meets expectations, but deliverables may be missing a few required components
81.0-83.9% B- Performance and quality of work below expectations along many dimensions, although deliverables may have all equired components
78.0-80.9% C+ Performance and quality of work below expectations along many dimensions, and deliverables may be missing a few required components
74.0-77.9% C Performance and quality of work below expectations along most dimensions, and deliverables are missing many components
71.0-73.9% C- Work represents minimum effort (student fails the course)

Units

6

Course Policies and expectations

In order to participate in this course, you need a laptop, and you must bring your laptop to each class/recitation/lab.

The participation grade will include some in-class discussions. Make sure I know ahead of time if you are not able to attend class.

I expect you to establish a professional relationship with each other, and with me. That means clear communication, and at times, negotiation. In the marketplace, communications skills are among the most desirable qualities that hiring managers look for. Take the opportunity to practice the following skills:

  • Listen and communicate your comprehension.
  • Question and attempt to reduce ambiguity. Be honest and open about what you don’t understand.
  • Criticize and argue respectfully, and constructively.
  • Venture and be resourceful. Back your statements with fact and research based evidence.
  • Calculate and be diplomatic: disagree respectfully; think about what you are saying; be concise and try not to waste other’s time.

Also see the Discussion Board Policy

Cheating and Plagiarism

Plagiarism and other forms of academic misrepresentation are taken extremely seriously. Misrepresentation of another’s work as one’s own is widely recognized as among the most serious violations. The violation is clearly flagrant when it occurs as plagiarism on a required paper or assignment or as cheating on an examination, regardless of whether it is a take-home or in-class examination. The punishment for such offenses can involve expulsion from the program. There are many other ways in which a violation can occur.

Academic Dishonesty: Students are expected to maintain the highest ethical standards inside and outside the classroom. Cheating on exams and term papers (i.e. plagiarism and unauthorized collaboration) is obviously discouraged and will be treated appropriately. The usual penalty for violations is a failing grade for the particular assignment in question; however, in some instances, such actions may result in a failing grade for the course.

This course defines cheating as the verbal, written, printed or digital communication of code for the purpose of completing a graded component (assignment, exam or project). Should an instance of cheating be discovered, all involved parties, be they provider or recipient, will receive no points for the component in question. Should a second instance of cheating occur, the student(s) in question will receive a failing grade for the course. ALL instances of cheating will be reported to the appropriate Associate Dean.

It is common in the software industry to share code. The open-source community is built on just that. Our own code will be hosted as open-source in Github, so we can see each other's work. While sharing is good and fine, we must remember to cite our resources. In this course, all borrowed code must be preceded with a comment that cites the author and the url source. Failure to do so will result in docked points. Failure to cite code that is borrowed from another student in this course counts as cheating. Also, be mindful not to borrow too much, as it will also negatively impact your grade.

Leveraging another's code as inspiration for your own does not always require citing. For this course, you do not need to cite a source if you changed more than 30% of the code.

Can I use Generative AI, such as Chat GPT, in this Course?

In Limited Cases, Yes

Within this class, there are situations and contexts where you will be required to use AI programs such as ChatGPT, DALL-E and others. Outside of these specific guided activities, you will not be permitted to use AI tools for any reason.

Learning Generative AI Is an Important Skill, you may use it to:

  • Brainstorm new ideas
  • Improve your grammar
  • Improve the quality of your work by generating suggestions, such as comments and tests
  • As part of your course project deliverables (e.g. integration with Generative AI)

You may NOT use Generate AI:

  • To generate your responses to graded discussions
  • On the Final Exam

Academic Integrity Violation

Using ChatGPT or other generative AI outside of these specific guided activities or to generate any other course content will be considered an academic integrity violation.

Ask before using AI

If you are uncertain about whether or not you are allowed to use AI, ASK FIRST.

If you are uncertain about whether or not a particular technique of using AI is allowed, ASK FIRST.

About

Course Materials for CMU Heinz course 95729: E-Commerce Tech

Resources

License

CC-BY-SA-4.0, MIT licenses found

Licenses found

CC-BY-SA-4.0
LICENSE_CONTENT
MIT
LICENSE_SOFTWARE

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published