View Courses

Computer Science

COMPU_SCI 110-0 : Introduction to Computer Programming (Introduction to Computer Programming)


Description

Introduction to programming practice using Python. Analysis and formulation of problems for computer solution. Systematic design, construction, and testing of programs. Substantial programming assignments in Python.

COURSE GOALS:

This course is an introduction to computer programming using Python, and assumes no prior programming knowledge.

Most people who need to write computer programs are not computer scientists, but rather people who occupy a range of professions (journalists, geographers, sociologists, scientists, artists, musicians, entrepreneurs, researchers, etc.), and who use various programming languages to accomplish diverse and specialized goals. Moreover, as data and computing increasingly mediate modern life, knowing a bit about the mechanisms (and risks) that underlie these systems is a valuable modern literacy that is likely to serve you well.

The intent of the course is twofold. First, we want you to gain a sense of the many different kinds of problem-solving and creative pursuits that programming can support. Programming can act as a representational medium, a tool for thinking about problems, a way of amplifying and/or communicating ideas, a means of performing complex calculations over massive datasets, and much more.

Second, we want you learn fundamental constructs of computer programming along with skills and strategies to apply them in creative and useful ways. Towards this end, there will be quite a few practice problems to get you familiar with ‘the basics,’ as well as longer, open-ended programming projects that encourage you to marshal these ideas towards your own creative applications. These applications may include authoring electronic dance music, animations, games, and/or simple apps that interact with data and media from various sources (e.g. Yelp, Spotify, Twitter, various databases, etc.).

By the end of this course, you will have some experience writing programs, working with the command line, working with different kinds of data, and participating in several important programming practices (e.g. debugging, testing, and designing programs; reading technical documentation and sample code; installing and exploring third-party modules and APIs). Our hope is that this course will help you to see how your goals and knowledge might be supported via computing, while helping you to develop the proficiency and confidence needed to actualize these goals.

PREREQUISITES: None. We assume no knowledge of programming or computing.

This course is approved for Weinberg Area II (Formal Studies) distribution credit (NOT for CS Major Requirements)


Summer 2024
Start/End DatesDay(s)TimeBuildingSection
06/17/24 - 08/18/24
Additional Day: Fridays
MW
10 – 11 a.m.
Additional Time: 10:00-11:20
Tech Institute M3451
InstructorCourse LocationStatusCAESAR Course ID
Mamakos, Michalis
Evanston Campus
Open42454
^ Back to top ^