Python is a language with a simple syntax, and a powerful set of libraries. It is an interpreted language, with a rich programming environment, including a robust debugger and profiler. While it is easy for beginners to learn, it is widely used in many scientific areas for data exploration. This course is an introduction to the Python programming language for data science students with no prior programming experience. Topics include: flow control, decision structures, repetition, recursion, subroutines, functions, algorithm development, data structures, and basic object-oriented programming concepts. These essential computer programming concepts are used to develop computer programs that handle numerical data, whether it is obtained in a laboratory or the field, or generated as the output of some mathematical function.
Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud by Paul J. Deitel, and Harvey Deitel
@book{deitel2020intro,
title={Intro to Python for Computer Science and Data Science},
author={Deitel, Paul and Deitel, Harvey},
year={2020},
publisher={Pearson Education}
}
After successful completion of this course the student will be able to:
- Effectively employ Python as a scientific computation tool, utilizing several built-in functions and import libraries;
- Apply relational and logical operators;
- Apply programming constructs such as decision structures and repetition structures to solve scientific problems;
- Write reusable code using subroutines and functions;
- Import, export, and display data from external files;
- Acquire, analyze, manipulate, and evaluate numerical information;
- Identify programming best practices including programming guidelines, conventions, code optimization (vectorization), and knowledge of common pitfalls.
- Introduction to Computers and Python
- Varibles, assignments, arithmetic, strings, and comments
- Flow Control Statements (conditionals)
- Flow Control Statements (loops)
- Functions
- Sequences: Lists and Tuples
- Lists (including sorting) and List comprehensions
- Dictionaries and Sets (Set comprehensions)
- Arrays with NumPy
- Strings
- Files and Exceptions
- Files and Exceptions
- Object-oriented programming (OOP)
DCS325 is a continuation of DSC225. Emphasis is placed on problem-solving and algorithm development in data science applications, especially natural language processing and text mining. Exposure to cloud computing, big data sets, and machine learning algorithms are included. Programming models including procedural, functional, and object-oriented will be discussed and applied. The course uses best practices to prepare students for industry.
After successful completion of this course the student will be able to:
- Employ Python as a tool for data science, utilizing several built-in functions and import libraries;
- Implement multiple sorting algorithms;
- Develop text mining techniques;
- Perform natural language processing (NLP) tasks;
- Detect the language of text and apply APIs to translate;
- Recognize Twitter’s impact on business and society and consider ethical issues; Identify IBM Watson’s range of services;
- Apply machine learning models and measure performance;
- Create Keras neural networks for deep learning applications;
- Access database and execute SQL statements via python.
- Sorting algorithms and Big O
- Natural Language Processing (NLP)
- Twitter Mining (tweepy)
- IBM Watson services
- Machine Learning: classification, regression, clustering (sklearn)
- Deep Learning (Keras and TensorFlow)
- SQL (sqlite3), Hadoop, Spark