CS 1110 is a 4 credit course designed that introduces computer programming concepts. It is also the first course for computer science majors, so it emphasizes the development and analysis of algorithms. Depending on your needs, you may find that other classes are a better fit.
CS 1110 is not an ideal class for students who want to just learn Python, but aren't looking for development in fundamental programming skills. It involves a significant amount of work both in and out of class.


CS 1112: Introduction to Computing Using MATLAB
CS 1112 is the primary alternative to CS 1110. It has the same class components as CS 1110 (4 credits, 2 lectures/1 lab per week) and offers the "coziness" of a smaller class. Both courses prepare students for CS 2110 and future computer science courses. CS 1110 has slightly more emphasis on software application development. CS 1112, which uses MatLab, has slightly more emphasis on scientific computation. While CS 1112 assumes no programming experience, it does require a comfort with mathematics, at the level of one semester of calculus. If you are an engineering student whose interests lie outside the digital major cluster (CS, ECE, ORIE, ISST), you might consider that course instead.

CS 1133: The Short Course
CS 1133 is a 2-credit course that covers the first half of CS 1110. It focuses on the basics in programming in Python, but does not include a lot of the computer science material in CS 1110.

CS/INFO 1300: Introductory Design and Programming for the Web
INFO 1300 is a course on design and programming for the web. This course does not cover as many computer science concepts as either CS 1110 or CS 1112. However, it does an excellent job emphasizing program design, and is one of the best courses available for this.

AMST/ENGL/INFO 1350: Introduction to Cultural Analytics: Data, Computation, and Culture
From the course description: This course will prepare students in the humanities to analyze, interpret, and visualize cultural data with computational methods. After a basic introduction to the programming language Python, we will cover topics such as data collection and curation through web scraping and data retrieval, text mining, image analysis, network analysis, and data visualization. We will survey and discuss how these computational tools are applied in humanistic research. We will also reflect on the specific problems, challenges, and ethical dilemmas posed by the computational study of culture.
This course is specifically designed for students in the humanities who have no previous programming background.

CS 1380: Data Science for All
CS 1380 is a course emphasizing data science applications, but which teaches some programming in Python as well. It includes hands-on analysis of real-world datasets including economic data, document collections, geographical data, and social networks.

AEM 2840: Python Programming for Data Analysis & Business Modeling
From the course description: This course is an introduction to programming with Python for students aiming to enter the world of business analytics. Using business applied cases students will increase decision making efficiency and productivity through a detailed understanding of Python programming languages. Students will also learn how to use a range of Python libraries for data analytics such as NumPy, MatPlotLib, Seaborn, Pandas, and Scikit.
Forbidden Overlap: due to an overlap in content, students will not receive credit for both AEM 2840 and CS 1110.

EAS 2900: Computer Programming and Meteorology Software
From the course description: Introduction to Python computer programming and visual software packages specifically tailored for meteorological application usage. Topics include basic Python programming (this includes problem analysis, algorithm development, and program writing and execution), data manipulation, and instruction in the use of GrADS, and GEMPACK visual display tools.

STSCI 4060: Python Programming and its Applications in Statistics
From the course description: The first part of the course teaches basic Python programming knowledge and skills. The second part deals with Python application in statistics (e.g., data visualization and statistical analysis), Python-database integration (e.g., access, update and control an Oracle database), and Python web services (e.g., database-driven dynamic webpages using Python CGI scripts). These techniques are utilized in a comprehensive course project.
Prerequisite: basic programming skills (any language), SQL (Oracle preferred) and SAS.