Course syllabus#

Course info#

Day

Time

Location

Lecture

Monday

11:45 am - 13:15 pm

S205

course location

Learning objectives#

By the end of the semester, you will be able to…

  • perform data cleaning and transformations using Pandas and Scikit-learn

  • do explanatory data analysis with Altair and create dashboards with Streamlit

  • collect data with web scraping and web APIs.

  • perform text mining to gain insights from text data.

  • use machine learning models like random forests and gradient boosted decision trees to make predictions.

  • apply deep learning models to natural language and image classification problems.

  • use version control in Git and GitHub.

Where to get help#

  • If you have a question during lecture, feel free to ask it!

  • Outside of class, any general questions about course content or assignments should be posted on the Moodle course forum.

  • Emails should be reserved for questions not appropriate for the public forum. If you email me, please include the name of our course in the subject line.

Check out the Support page for more resources.

Textbooks#

While there is no official textbook for the course, we will be assigning readings from the following textbooks:

Available as E-Books in the HdM library:

  • Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, by Aurélien Géron.

  • Deep Learning with Python by François Chollet

Available as free online books:

Lectures#

A lot of what you do in this course will involve writing code, and coding is a skill that is best learned by doing. Therefore, as much as possible, you will be working on a variety of tasks and activities throughout each lecture.

Additionally, some lectures will feature application exercises that will be graded.

You are expected to bring a laptop to each class so that you can take part in the in-class exercises.

Assessment#

Assessment for the course is comprised of four components:

Application exercises#

Parts of some lectures will be dedicated to working on “Application Exercises” (AE). These small exercises will give you an opportunity to practice apply the concepts and code introduced in the readings and lectures.

AEs should be completed and submitted individually.

Note

AEs are due within six days after lecture

The AEs are due within six days after the corresponding lecture. For example, AEs from a Monday lecture would be due Sunday by 11:59 pm.

Homework#

In homeworks (HW), you will apply what you’ve learned during lectures to complete data analysis tasks using data not covered during lectures.

You may discuss homework assignments with other students; however, homework should be completed and submitted individually.

Homework must be completed in the provided Jupyter Notebooks in your course GitHub-repo and also submitted in Moodle.

Exams#

There will be three, “take-home”, open-note exams in Moodle. Through these exams you have the opportunity to demonstrate what you’ve learned in the course thus far.

Note

The exams will focus on the conceptual understanding of the content

More details about the exams will be given during the semester.

Grading#

The final course grade will be calculated as follows:

Category

Percentage

Application exercises

20%

Homework

35%

Exam 01

40%

Exam 02

5%

The final grade will be determined based on the following thresholds:

Grade

Final Course Grade

1.0

96 - 100

1.3

91 - 95

1.7

85 - 90

2.0

80 - 84

2.3

75 - 79

2.7

70 - 74

3.0

65 - 69

3.3

60 - 64

3.7

55 - 59

4.0

50 - 54

4.7

15 - 49

5.0

0 - 14

Tips for success#

Your success on this course depends very much on you and the effort you put into it:

  1. Complete all the preparation work before class.

  2. Do the readings.

  3. Do the application exercises and homeworks. The earlier you start, the better.

  4. Don’t procrastinate. If something is confusing to you in Week 2, Week 3 will become more confusing, Week 4 even worse, and eventually you won’t know where to begin asking questions. Don’t let the week end with unanswered questions.

Course policies#

Academic integrity#

TL;DR: Don’t cheat!

All students must adhere to the academic integrity standard. Students affirm their commitment to uphold the values by signing a pledge that states:

  • I will not lie, cheat, or steal in my academic endeavors;

  • I will conduct myself honorably in all my endeavors;

  • I will act if the standard is compromised

Regardless of the course delivery format, it is your responsibility to understand and follow HdM policies regarding academic integrity, including doing one’s own work, following proper citation of sources, and adhering to guidance around group work projects.

Collaboration policy#

Only work that is clearly assigned as team work should be completed collaboratively.

  • The homework assignments must be completed individually and you are welcomed to discuss the assignment with classmates at a high level (e.g., discuss what’s the best way for approaching a problem, what functions are useful for accomplishing a particular task, etc.). However you may not directly share answers to homework questions (including any code) with anyone other than myself and the teaching assistants.

  • For the projects, collaboration within teams is not only allowed, but expected. Communication between teams at a high level is also allowed however you may not share code or components of the project across teams.

Policy on sharing and reusing code#

I am well aware that a huge volume of code is available on the web to solve any number of problems.

Unless I explicitly tell you not to use something, the course’s policy is that you may make use of any online resources (e.g. StackOverflow) but you must explicitly cite where you obtained any code you directly use (or use as inspiration).

Any recycled code that is discovered and is not explicitly cited will be treated as plagiarism.

On individual assignments you may not directly share code with another student in this class, and on team assignments you may not directly share code with another team in this class.

Late work policy#

The due dates for assignments are there to help you keep up with the course material. However, I understand that things come up periodically that could make it difficult to submit an assignment by the deadline. Here are the rules for late submissions:

  • Homeworks may be submitted up to 3 days late. There will be a 25% deduction for each 24-hour period the assignment is late.

  • There is no late work accepted for application exercises, since these are designed to help you prepare for homeworks.

  • There is no late work policy for exams (they need to be completed in a specific timeframe)

If there are important circumstances that prevent you from completing a lab or homework assignment by the stated due date, you may email me at kirenz@hdm-stuttgart.de before the deadline.