Syllabus
Instructor: Daniel Reich
Class Days & Location: All lessons are delivered asynchronously
Office Hours: By appointment
Website (including Course Topics, Schedule and Assignments)
There is no textbook for this course. I have built the course website to be as comprehensive and well-organized as possible, so you can focus your energy on learning. To succeed in this course, you should only need the materials provided or referenced in this website, supplemented with additional information you find using your favorite search engine. I reserve the right to modify plans listed and timing. If you have any feedback on the website or ideas for improvements, please share them.
Work Requirements
Detailed instructions are provided on each lesson page, both for the lesson itself and for the assignment. Please follow these instructions carefully. All work for this course is to be organized in a Git repository and synced with a GitLab project shared by the instructor. All documents are to be written in Markdown, unless otherwise noted. Git, GitLab and Markdown will be covered early in this course.
All in-lesson activities (aka exercises), assignments and polls must be pushed to GitLab by the Complete By
dates listed on both the lessons page and at the start of each lesson.
One of the aims of this course is to develop lifelong learning skills for technology. Therefore, work is to be completed individually and access to your class Git repository is to be shared only with the instructor. The topics we cover all have a wide user base, so information is readily available online and you are encouraged to use your favorite search engine for assistance. Your instructor is available to answer questions, if you are stuck.
Communication Requirements
We’ll be utilizing GitLab Issues as our primary mode of communication for everything related to course work. Email should only be used if a GitLab Issue response is not received in a timely fashion, for extenuating circumstances or prior to the lesson in which GitLab is introduced.
Please use GitLab Issues to document your questions and any known issues with your work. A request for office hours should also be channeled through an associated GitLab Issue for which you are seeking assistance and an appointment will be scheduled as needed.
Overview
This course introduces students to several foundational data technology concepts and tools. Fundamentals of data storage will be introduced. Students will learn to prepare, organize, process, validate and visualize data. Key computer programming concepts, such as variables, inputs, outputs, if-statements and for-loops will be covered, with a focus on applying these concepts to automate routine tasks. Students will gain hands-on experience with many technologies and tools. Our goal is that you should leave this course with an understanding and an appreciation of the capabilities provided by the technologies and tools we cover. When you encounter problems in your future jobs, you should be able to recognize opportunities to apply these tools and be capable of overseeing projects where they are utilized.
Course Objectives
- Demonstrate technology agility, by rapidly adapting to new technologies
- Independently search online technical forums for instructions required to complete tasks
- Apply logical functions to process data effectively
- Understand fundamental data management concepts, including data types, relations, dictionaries and file formats
- Efficiently combine data sources, including required transformations, such as reformatting, grouping, etc.
- Produce data visualizations using modern software
- Understand technological capabilities and envision how they can be used within the DoD
Grading
This course does not have any exams. Grades will be based entirely on lesson activities, assignments and polls:
Topic | % of Course Grade | Lesson % | Assignment % | Poll % |
---|---|---|---|---|
Welcome to the Course | 1 | 1 | ||
Version Control and Repositories | 8 | 4 | 3 | 1 |
Plain Text Files | 7 | 3 | 3 | 1 |
Plain Text Data File Formats | 7 | 3 | 3 | 1 |
Relational Databases | 9 | 4 | 4 | 1 |
Webpages | 6 | 2 | 3 | 1 |
Application Programming Interface (API) | 5 | 2 | 2 | 1 |
Computer Programming in Python | 17 | 8 | 8 | 1 |
Input Preparation and Output Validation | 4 | 3 | 1 | |
Pattern Matching | 6 | 2 | 3 | 1 |
Merging Data | 6 | 2 | 3 | 1 |
Pivot Tables | 6 | 2 | 3 | 1 |
Visualization | 17 | 8 | 8 | 1 |
Course Conclusion | 1 | 1 | ||
——————————————————— | ——————— | ——————— | ——————— | ——————— |
Total | 100 | 43 | 43 | 14 |
Each topic % of Course Grade
is roughly proportional to its allocated time within the course. In-lesson activities (aka exercises), assignments and polls are due at the same time. Late submissions will not receive any credit. Submitted polls will receive full credit. The accompanying videos for in-lesson activities demonstrate everything required for successful completion, so all elements of those in-lesson activities must be successfully completed to receive full credit. In-lesson activities and assignments will receive one of the following scores:
Score | Standard |
---|---|
1 | completed well |
0.8 | mostly good |
0.5 | some good |
0 | not satisfactory |
Your final course grade will be determined by weighted average of scores on graded items. The maximum cutoff percentages are as follows (but the instructor reserves the right to make the grade scale more lenient):
Grade | Performance Level Required |
---|---|
A | 94 to 100 % |
A- | 90 to 94 % |
B+ | 87 to 90 % |
B | 83 to 87 % |
B- | 80 to 83 % |
C+ | 77 to 80 % |
C | 73 to 77 % |
C- | 70 to 73 % |
D | 60 to 70 % |
F | 0 to 60 % |
No changes will be made to course grades after the conclusion of the quarter, other than in cases of a clerical error. Questions about grading can be discussed at office hours by appointment.
Distribution of Course Materials
Please do not distribute any materials from this course.
Technology Requirements
You must have your own laptop, with a current Windows or Mac operating system, available for every lesson.
Programs
Some lessons will require you to install software applications on your laptop. Instructions will be provided in the lessons, as needed. We will use both of the following web browsers, so please install them:
Accounts
Some lessons will require you to sign up for accounts for various tools and services. Instructions will be provided in the lessons, as needed.
NPS Resources
Please verify that you are able to login to NPS GitLab. Please contact the Technology Assistance Center, if you encounter any problems.
Terms of Services and Privacy Policy
This site includes videos posted on YouTube and data collected from YouTube API. Please review the YouTube Terms Of Services and Google Privacy Policy. By using the YouTube content on this site, users are agreeing to be bound by the YouTube Terms of Service and Google Privacy Policy. If you have any concerns about these terms, please contact the instructor of the course.
MN3441 Technology for Managerial Data Analysis