Giter Club home page Giter Club logo

heinz-95729's Introduction

e-commerce

Course Description

What will come next in e-commerce? What stable foundations will continue to matter?

In E-Commerce Tech, you will learn about software engineering design principles, and patterns for leveraging technology through the lens of e-commerce. We will explore how Artificial Intelligence (AI), Machine Learning (ML), and Conversational User Interfaces (CUI) are used at the intersection of technology, and microeconomics.

To explore these topics, you will apply what you are learning, choosing from an array of team and solo projects that cover third-party integration, user experience (UX), servers and APIs, data querying and analytics, machine learning, conversational bots, and user engagement.

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

Topical Outline

  • Artificial Intelligence (AI) in e-commerce
  • Machine Learning (ML): predicting customer behaviors
  • Conversational UIs (CUI / Bots): trust, and transparency to drive sales
  • Third-Party Integration: trading CAPEX, for OPEX
  • SOLID principles, and code composition
  • Design Patterns (MVC, MVVM, Repository, Factory)
  • APIs, and server frameworks
  • User Experience (UX), and client application frameworks
  • Server, and web client application frameworks
  • Test Driven Development (TDD) and Behavior Driven Development (BDD)
  • Specifications/requirements
  • RDBMS & No-SQL
  • Programming in JavaScript (optional, not in-depth)

Learning objectives

After completing this course, you should be able to:

  • Explain how machine learning can be used to suggest goods and products
  • Explain how NLU can be used to understand speech, and written text
  • Describe and demonstrate the SOLID principles
  • Describe and implement several common design patterns (MVC, MVVM, Repository, Factory)
  • List several forms of software testing
  • Describe Test Driven Development (TDD) and Behavior Driven Development (BDD)
  • Write unit tests to assess code
  • Write functionality that satisfies unit tests
  • Participate in source code management
  • Read, write and design to user stories

Depending on which project you embark on, you should be able to:

  • Leverage an ML algorithm that reveals frequent patterns in user behavior
  • Compare algorithms for finding frequent patterns in user behavior
  • Convert speech, or text to intent, entities, and actions
  • Describe and implement Dependency Injection, using an Inversion of Control container and a Composition Root
  • Leverage a server-side web application framework
  • Leverage a client-side JavaScript framework
  • Compose the user experience, using templates and data-binding

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 assets 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 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.

heinz-95729's People

Contributors

losandes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.