Decisions, Operations & Information Technologies
Robert H. Smith School of Business

Instructor: Kunpeng Zhang (kzhang@rhsmith.umd.edu)
Lectures: Monday/Wednesday, 8:00 -- 9:15 (0401), 9:30 -- 10:45 (0501)
Room: VMH 3522
Office Hour: TBD
Room: VMH 4316

Teaching Assistant: Yash Srivastava (yash.srivastava@rhsmith.umd.edu)
Room: TBD
Office hours: TBD

About the Course

Since the data grows exponentially and becomes complex, we need computational methods to collect, store, and analyze them in order to be successful in science, engineering, business, and other professions. BMGT404, “Essential Data Skills for Business Analytics”, is an introductory programming class that meets this need. You will learn how to write computer programs in Python language to solve real-world problems and how to use tableau to explain your results as a report in a more readable way. This will be useful in your research and your jobs in the future.

This class is designed for students that want to learn to computer programming for data science. This course guides students through the basic Python programming language, from initial concepts to final data analysis using python and external packages.

The (tentative) list of topics that we plan to cover:

Prerequisites

The course does not require any prior programming background or experiences. Students that enroll in the class are expected to have some basic familiarity with programming in other languages, at the introductory level (i.e., R, matlab, SAS, etc.), however no prior knowledge of Python is required. Since this course contains hands-on labs, (I prefer) you are expected to bring your laptop to every class (and remember to charge it, so that it lasts for the duration of the class).

Course Objectives

At the completion of this course, students will be able to:

Tools we will use

The tools that we will learn to use in the class include:

About me

If you're interested in my research, here is my homepage. The best way to get in touch with me is via email, at kzhang@rhsmith.umd.edu. I am available by appointment to discuss material from class, homework assignments, the labs, etc. Email is the best way to reach me to set up an appointment, and it's also a good way to get a quick answer to a simple question.

Resources

While we do not have any required textbook for the course, the following books will be useful references for the material that we will be covering in class.

Textbooks

The principal textbooks for this course are:

Think Python – How to Think Like a Computer Scientist Online version
The Python Tutorial Online version

Assignments

You are free to submit late, but there is a 10% grade penalty for every additional day after the deadline. Given the generous late submission policy, penalties are strictly enforced, and no extensions are granted. Please plan accordingly, and do not leave submission for the last minute.

Plagiarism Policy: Inevitably in a programming course, it seems that a few people will turn in work that is not their own. You should understand that it is usually easy to detect copying of programs -- even when a program is modified to try to disguise its source. Copying a program, or letting someone else copy your program, is a form of academic dishonesty and the penalties can be found here (http://www.rhsmith.umd.edu/about-us/academic-integrity).

Grading

Components of the final grade are as follows:

ComponentWeight
Attendance 5%*1=5%
Midterm exam 25%*1=25%
Quizzes 10%*2=20%
Project 15%*1=15%
Assignments 5%*7=35%
Total 100%

Letter grades are assigned as follows:

LetterPoints
A+ 100-97
A 96.9-93
A- 92.9-90
B+ 89.9-87
B 86.9-83
B- 82.9-80
C+ 79.9-77
C 76.9-73
C- 72.9-70
D+ 69.9-67
D 66.9-63
D- 62.9-60
F below 60

Academic Integrity

The University is an academic community. Its fundamental purpose is the pursuit of knowledge. Like all other communities, the University can function properly only if its members adhere to clearly established goals and values.

The University’s Code of Academic Integrity is designed to ensure that the principles of honesty and integrity are upheld. You are expected to adhere to this Code. The Smith School does not tolerate academic dishonesty. All acts of academic dishonesty will be dealt with in accordance with the provisions of this Code. Anyone suspected of academic dishonesty will be referred to the Office of Student Conduct immediately. Please visit the website for more information on the University’s Code of Academic Integrity.

Academic Dishonesty: any of the following acts, when committed by a student, shall constitute academic dishonesty:

To help you avoid unintentional cheating, the following table lists levels of collaboration that are acceptable for each type of graded exercise. If you are ever unclear about acceptable levels of collaboration, please ask!

Class Attendance

University policies excuse the absences of students for illness, religious observances, participation in University activities at the request of university authorities and compelling circumstances beyond the student's control. Regular attendance and participation in this class is the best way to grasp the concepts and principles being discussed. However, in the event that a class must be missed due to illness, the policy in this class is as follows:
1. For every medically necessary absence from class (lecture, recitation, or lab), a reasonable effort should be made to notify the instructor in advance of the class. When returning to class, students must bring a note identifying the date of and reason for the absence, and acknowledging that the information in the note is accurate.
2. If a student is absent more than 3 times, the instructor may require documentation signed by a health care professional.
3. If a student is absent on days when tests are scheduled, he or she is required to notify the instructor in advance, and upon returning to class, bring documentation of the illness, signed by a health care professional.
4. No students can receive A if absence 5 or more classes.

Accommodations for Disabilities. The University is legally obligated to provide appropriate accommodations for students with documented disabilities. Accommodations will be made only in accordance with University policy. Students who are entitled to accommodations due to disabilities must first set up an appointment with the Disability Support Services (DSS). To permit adequate planning, this process must be completed and I must be notified by DSS at least two weeks before the session in which the accommodation is required.

Technology

The use of cellular phones, tablets, or computers for non-course purposes will not be allowed without the prior consent of the presiding faculty member. Students using phones during class or participating in other disruptive activities will be asked to leave out of respect for fellow students and faculty. Eating or drinking during skills activities, texting/web surfings, working on other courses' material, or other activities that distract from course activities are not allowed. Audio or video recording of any course activity needs express permission of the instructors.

Tentative Schedule

Here is a tentative schedule of lectures, readings, and labs for this course. We will try to keep approximately to this schedule.
(Note that we may change the schedule during the semester.)

SessionTopic

1
Introduction to Python
Install and run a Python program (Jupyter Notebook
2 Variables, expressions, and statements
3 Condition statements (if-else)
3 Quiz - 1
4 Loop structure
5 Lists, tuples, and dictionaries
6 Functions, parameters, and recursion
7 File operations
8 String operations
9 Midterm
10 Modules
11 Regular expression
12 Visualization
12 Quiz - 2
13 Database operations (MySQL)
14 Data manipulation: Pandas
15 Scientific computing: NumPy
16 Text mining: NLTK
17 Machine learning in Python