You are on page 1of 10

BA 532: Programming for Analytics II

BA 532: Programming for


Analytics II
Course Handout
Course Credit: 3
Session: 2016-17

MBA (Business Analytics)


Year-1, Term -2

December 18, 2016

Page 1 of 10

BA 532: Programming for Analytics II


Course-incharge:

G Krishnamurthy

Course
Instructor(s):

G Krishnamurthy

Contact
Information:

M: 98186 19267
Email: G.Krishnamurthy@niituniversity.in
Email: gkrishnamurthy0524@gmail.com

Pre-requisites:

Successful completion of CS 561 course


1 Surprise Quizzes
20%

Evaluation
Scheme

2 Assignments and
Studies
3 Group Project

Case

4 Mid Term Exam

10%

MCQs, fill in
the blanks
and short
answer type
questions
Individual

20%

Group

20%

Closed Book

5 End Term Examination


Pedagogic tools

Closed Book
30%
Lectures, class discussions, case studies and problem
solving

December 18, 2016

Page 2 of 10

BA 532: Programming for Analytics II

COURSE DESCRIPTION
The course will begin with an introductory set of modules on Python and R. It
will then go on to cover the principles of programming and software
development for analytics in R, followed by a similar treatment for
programming in Python. The focus is on developing reliable and accurate
software that integrates multiple technologies, scales well, performs well,
and adapts to changing requirements. The course will mainly deal with
typical idioms and design patterns, designing for scalability and change,
testing, and performance tuning.
Learning Outcomes:
Knowledge:
1. Get a deeper understanding of systematic and stepwise process of
complex problem solving (K1)
2. Develop an ability to write effective and efficient algorithms and
heuristics for problem solving (K2)
3. Learn the advanced features and applications of Python and R (K3)
4. Learn to solve complex analytical and business problems, such as
visualization and time series analysis using Python and R (K4)
5. Issues in handling big data in R (K5)
Skills:
1. Advanced programming with Python and R (S1)
2. Problem Solving with Python and R (S2)
Session Plan
Sessi
on
No.
1

Topics
Review of course

December 18, 2016

Learning
Outcomes
K3

References
and Pre
readings
Textbook 3,

Pedagogy
Lecture

Page 3 of 10

BA 532: Programming for Analytics II

Identification of project
groups
About R description of
topics to be covered e.g
visualization and big data
Review of Python,
Interpreter basics, iPython
Programming Environment,
Python semantics, scalar
types, control flows

Textbook 4

K3, K4

Textbook 1,
Chap 03

Lecture
and
Discussion

Lecture
and
discussion
Lecture
and
discussion

Big Data in R issues and


limitations in R

K5

Class handout

K4

Class handout

Big Data in R overcoming


the limitations of R
Discussion of BA 832
project topics
Data Visualization in R

K4

Textbook 3,
Reference 3

Data Visualization in R

K4

Textbook 3,
Reference 3

R
Visualization
Tool
Ecosystem
Quiz on basic concepts in R
Functions & File handling in
Python
Numpy
Basics

Computation and File I/O


using Arrays
Numpy Basics Linear
Algebra Random Number
Generation
Pandas - Data Structures
and Data Handling,
Summary of Descriptive
Statistics

K1, K2, K3, K4,


S1, S2
K3, K4

Reference 3
Textbook 1,
Appendix

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 1,
Chap 04

Lecture

K1, K2, K3, K4,


S1, S2

Textbook1,
Chap 04

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 1,
Chap 05

Lecture

8
9
10
11

December 18, 2016

Lecture
and
Exercise
Lecture
and
Exercise
Lecture

Page 4 of 10

BA 532: Programming for Analytics II


12

13
14
15
16

17

18
19
20

21

22

Reading, Writing and


Formatting Data
Binary Data Formats,
Interacting with HTML, Web
APIs and Databases
Combining and Merging
Datasets, Merging Data
sets
Quiz on Numpy and Pandas
Data Transformation and
String Manipulation
Plotting and Visualization
in Python Overview of
APIs for visualization
Plotting functions in Python
with Pandas- Line, Bar,
Histogram and Density
Plots, Scatter Plots
Data Visualization in
Python - quantile-quantile
plots, statistical
characterization, Parallel
coordinates plots,
Correlation plots
Comparison with R
Python visualization Tool
Ecosystem-Chaco and
Mayavi
Data Grouping by
Mechanics and Data
Aggregation
Quiz on Data Visualization
Group-wise operations and
Transformations, Pivot
Tables and Crosstabs
Manufacturing Case Study
on PowerHorse Tractors, a
South-East Asian company
- Time series modelling
and decomposition
- Introduction to ARIMA
Manufacturing Case Study
on PowerHorse Tractors, a

December 18, 2016

K1, K2, K3, K4,


S1, S2

Textbook 1,
Chap 06

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 1,
Chap 07

Lecture

K1, K2, K3, K4,


S1, S2

Textbook2,
Chap 07

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 1,
Chap 08

Lecture

K1, K2, K3, K4,


S1, S2

Textbook1,
Chap 08

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 2,
Chap 02

Lecture

K1, K2, K3, K4,


S1, S2

Textbook1,
Chap 08

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 1,
Chap 09

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 1,
Chap 09

Lecture

K1, K2, K3, K4,


S1, S2

Case Study to
be handled in
class

Case
Study

K1, K2, K3, K4,


S1, S2

Case Study to
be handled in

Case
Study

Page 5 of 10

BA 532: Programming for Analytics II

23

24

25
26

27

28
29
30

South-East Asian company


- ARIMA plots and graphs
- Regressing ARIMA errors
Advanced Numpy ndarray, advanced array
manipulation,
Broadcasting, advanced
Unfunc
Advanced
Numpy
Structured
and
Record
Arrays,
Numpy
Matrix
class, Advanced Array I/O
Predictive
Modelling

Regression and Ensemble


Methods
Quiz on Time Series
Analysis, Advanced
Numpys
Steps for building
predictive models
Balancing performance
and complexity - Linear or
Non-linear models,
contrast between simple
and complex models
Penalized Linear
Regression
Building Predictive Models
using Penalized Linear
Regression Model
Building Ensemble Models
using python

class
K1, K2, K3, K4,
S1, S2

Textbook 1,
Chap 12

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 1,
Chap 12

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 2,
Chap 01

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 2,
Chap 01

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 2,
Chap 03

Lecture

K1, K2, K3, K4,


S1, S2
K1, K2, K3, K4,
S1, S2

Textbook 2,
Chap 04
Textbook 2,
Chap 05

Lecture

K1, K2, K3, K4,


S1, S2

Textbook 2,
Chap 7

Lecture

Lecture

TEXTBOOK (references, hand-outs and cases will be uploaded on Moodle)


1.
2.
3.
4.

Python for Data Analysis by Wes McKinney, OReilly, 2013


Machine Learning in Python by Michael Bowels, Wiley, 2015
Advanced R by Hadley Wickham, Taylor and Francis Group LLC, 2015
R Graphics Cookbook by Winston Chang, OReilly Media, 2013

REFERENCE BOOKS (OPTIONAL)


1. Introducing Python by Jessica McKellar, OReilly, 2014
2. Python for Data Science For Dummies by John Paul Mueller and Luca
Massaron, Wiley 2015
December 18, 2016

Page 6 of 10

BA 532: Programming for Analytics II


3. Time Series Analysis and Its Applications by Robert Shumway and
David Stoffer, Springer, 2011
Journals/ Newspaper/ Magazines/Web Resources
1
2
3
4

https://www.python.org/
https://cran.rstudio.com/
http://www.kdnuggets.com/
http://www.kaggle.com/

Software
Python
Anaconda
R Studio
Description of Evaluation Components:
Surprise Quizzes (4):
Weight 20%, Expected Date: Unannounced, Duration: 10-15 Minutes.
Each quiz will contain MCQs, fill in the blanks and/ or short questions.
Each quiz would be based on pre-readings and course covered till the latest
session
Assignments (4):
Weight 10%, Expected Date: Will be announced.
Assignments would be given with last date of submission. Students will have
to write, code or print as instructed.
Group Project (1):
Weight 20%, Expected Date: Topic will be announced in week 1. Final
submission of the project report shall be during second last session.
Consultation with the course-in-charge is encouraged in case of doubt or
difficulty.
Submission Requirements: Project report to be submitted before 4 PM, Friday
week 10th positively after which no submission will be accepted.
Font to be used Times New Roman, size 10, with 1.5 line spacing.
Executive summary should not exceed 300 words.
The student shall follow the defined Rubric for quantifying levels of
achievements to corresponding expectations.
Mid Term:
Weight 20%, Expected Date: As per University announcement, Duration: 1.5
hours.

December 18, 2016

Page 7 of 10

BA 532: Programming for Analytics II

Conceptual and application based questions will be asked in mid-term


examination. Algorithm and high level steps to run programs and problem
solving will also be included. You would also write few sentences explaining
the solution.
There will be 8 short questions pertaining to the different concepts of the
course. Students are expected to answer these questions in a precise manner
in 100 words.
Assumptions shall be clearly mentioned in each answer/solution.

End Term:
Weight 30%, Expected Date: As per University Announcement, Duration: 3
Hours.
The mode of examination will be pen and paper. In depth knowledge of
problem solving, program structuring and concepts will be tested.
A set of 6 questions will be asked which will be application oriented. One of
the questions can be based on a short case.
Questions shall be set to assess the critical thinking, analytical skills and
problem solving skills of the students and ability to apply concepts in real-life
situations. Students are expected to look in close detail and establish the key
facts and important issues surrounding a topic and it must be linked to
relevant theory/ theories.
The answers should be precise and to the point and under no circumstances
should exceed 300 words. You will be penalized for wastage of
words/paper/time, repetition, vague answers and grammatical and spelling
errors.
Students should aim for neat and systematic organization of the content,
elegant and lucid style of writing.

Scoring Rubric for project/assignment/presentation


Level of
Achieveme
nt
Exemplary

Case/Project Report

Presentation/
Visualization

Addresses the issues.


Presents arguments in a logical order.
Uses acceptable style and grammar
(no errors).
Backs conclusions with data and
warrants.

No error in PPTs.
Appropriate visualization
tools and methods used
with proper colouring
schemes and clear
messaging.
Teamwork and excellent
display of communication
skills.
Accurate output of
programs as expected.
Excellent handling of Q

December 18, 2016

Page 8 of 10

BA 532: Programming for Analytics II


Very Good

Does not address the issue explicitly,


although does so tangentially.
States a relevant and justifiable
presentation.
Presents arguments in a logical order.
Uses acceptable style and grammar
{one or two error(s)}.

Good

Address the issue ambiguously


Presents arguments in a less logical
order.
Fails to use acceptable style and
grammar (two or more errors).

Needs
Improveme
nt

Does not address the question.


States no relevant answers.
Indicates misconceptions.
Is not clearly or logically organized.

Exposed

Many things mentioned above are


missing and contents are unrelated
/irrelevant.

& A.
Demonstrates accurate
but only adequate
understanding of the
question because does not
back conclusions with
warrants and data.
Output of programs as
expected.
Visualization follows
standard schemes and
conveys the message
precisely.
Okay kind of
presentation and/or
visualization.
Less thorough than
above.
Missing links in
presentation.
Poor flow.
Does not demonstrate
accurate understanding of
the Q & A.
presentation not in order.
No flow.
Irrelevant material and
poorly designed
presentation.

Plagiarism
We are committed to upholding the highest standards of academic integrity
and honesty. Plagiarism in any form is unacceptable and will be treated
seriously. All such cases may be referred to the appropriate University body
for suitable disciplinary action.
Make up Policy
There wont be any make-up for any assessment component missed by the
student unless it has been missed due to any medical emergency or any
tragic event connected with immediate family member(s). Ideally, the
student should request the Course-in-charge through email before
the assessment component is held but in case this is not possible, the
request should be sent within 24 hours of the assessment component being
held. In addition, the student would be required to submit all supporting
documents such as medical reports, prescriptions, receipts etc. asked for by
December 18, 2016

Page 9 of 10

BA 532: Programming for Analytics II


the Course-in-charge. In case of surprise quizzes and projects there is no
provision for make-up. The grant of make-up will be completely at the
discretion of the Course-in-charge and his/her decision will be final and can't
be challenged.
Grading Policy - The Marks obtained in all the components of Evaluation
shall be totaled and the final marks shall be converted in the letter grades,
namely, A, B, C, D and E. For further details on the grading policy, please
refer to the University Student Handbook.
Consultation Hours - For any clarification or removal of their difficulties,
students are encouraged to approach the Course In-charge by fixing an
appointment through email and text message. In case of urgent need,
students can also use phone.

December 18, 2016

Page 10 of 10

You might also like