We may earn an affiliate commission when you visit our partners.
Course image
Course image
edX logo

Programming 102

Think Like a Computer Scientist

Marc Scott and James Robinson

On this course, you’ll explore Python programming at an intermediate level.

You'll discover how to break down problems into smaller parts, and then design and apply algorithms to data. You’ll also explore list structures and their various uses.

Read more

On this course, you’ll explore Python programming at an intermediate level.

You'll discover how to break down problems into smaller parts, and then design and apply algorithms to data. You’ll also explore list structures and their various uses.

Ultimately, what you learn will build upon your foundational Python skills - preparing you to progress onto more advanced programming.

What you'll learn

Over the following four weeks, you will:

  • Produce your own functions to break down problems into more manageable parts
  • Apply several common search and sort algorithms to data
  • Compare the efficiency of algorithms
  • Modify functions to take parameters and output return values
  • Interpret algorithms expressed in plain English, in pseudocde and as flowcharts

What's inside

Learning objectives

  • Produce your own functions to break down problems into more manageable parts
  • Apply several common search and sort algorithms to data
  • Compare the efficiency of algorithms
  • Modify functions to take parameters and output return values
  • Interpret algorithms expressed in plain english, in pseudocde and as flowcharts

Syllabus

You will cover:
Use functions with parameters and return values
Design and apply algorithms to data
Breaking down problems into smaller parts
Read more
Searching and sorting
Efficiency of algorithms
Understanding of list structures and their uses

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
For students already versed in programming fundamentals
Teaches methods for efficiently managing and sorting data
Introduces list structures and their applications
Applies algorithms to real-world data examples
Requires prior programming knowledge

Save this course

Save Programming 102: Think Like a Computer Scientist to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Programming 102: Think Like a Computer Scientist. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Programming 102: Think Like a Computer Scientist will develop knowledge and skills that may be useful to these careers:
Data Analyst
Data analysts use programming skills to extract insights from data, identifying trends and patterns that can help businesses make better decisions. Programming 102: Think Like a Computer Scientist can help data analysts build a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and problem-solving, all of which are essential for data analysts.
Software Engineer
Software engineers use programming languages to design, develop, and maintain software applications. Programming 102: Think Like a Computer Scientist can help software engineers enhance their Python programming skills and learn how to solve complex programming problems. The course covers topics such as algorithm design, data structures, and software design patterns, which are all important for software engineers.
Data Scientist
Data scientists use programming skills to build statistical models and machine learning algorithms to analyze data and solve business problems. Programming 102: Think Like a Computer Scientist can help data scientists strengthen their Python programming skills and learn how to apply programming concepts to data analysis. The course covers topics such as data structures, algorithms, and machine learning, which are all valuable for data scientists.
Computer Programmer
Computer programmers use programming languages to develop software applications. Programming 102: Think Like a Computer Scientist can help computer programmers improve their Python programming skills and learn how to solve programming problems more efficiently. The course covers topics such as algorithm design, data structures, and software design principles, which are all important for computer programmers.
Web Developer
Web developers use programming languages to design and develop websites. Programming 102: Think Like a Computer Scientist can help web developers build a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and web development frameworks, which are all important for web developers.
Machine Learning Engineer
Machine learning engineers use programming skills to build and deploy machine learning models. Programming 102: Think Like a Computer Scientist can help machine learning engineers strengthen their Python programming skills and learn how to apply programming concepts to machine learning. The course covers topics such as data structures, algorithms, and machine learning techniques, which are all valuable for machine learning engineers.
Data Engineer
Data engineers use programming skills to build and maintain data pipelines and data warehouses. Programming 102: Think Like a Computer Scientist can help data engineers develop a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and data management, which are all important for data engineers.
Software Developer
Software developers use programming languages to design, develop, and maintain software applications. Programming 102: Think Like a Computer Scientist can help software developers improve their programming skills and learn how to solve complex programming problems. The course covers topics such as algorithm design, data structures, and software design patterns, which are all essential for software developers.
Quantitative Analyst
Quantitative analysts use programming skills to build financial models and analyze financial data. Programming 102: Think Like a Computer Scientist can help quantitative analysts build a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and statistical modeling, which are all important for quantitative analysts.
Business Analyst
Business analysts use programming skills to analyze business data and identify opportunities for improvement. Programming 102: Think Like a Computer Scientist can help business analysts build a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and data visualization, which are all important for business analysts.
Information Security Analyst
Information security analysts use programming skills to protect computer systems and networks from cyber threats. Programming 102: Think Like a Computer Scientist can help information security analysts develop a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and network security, which are all important for information security analysts.
Operations Research Analyst
Operations research analysts use programming skills to solve complex problems in business and industry. Programming 102: Think Like a Computer Scientist can help operations research analysts build a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and optimization techniques, which are all important for operations research analysts.
Financial Analyst
Financial analysts use programming skills to analyze financial data and make investment recommendations. Programming 102: Think Like a Computer Scientist can help financial analysts build a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and financial modeling, which are all important for financial analysts.
Actuary
Actuaries use programming skills to analyze risk and uncertainty in financial and insurance applications. Programming 102: Think Like a Computer Scientist can help actuaries develop a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and statistical modeling, which are all important for actuaries.
Statistician
Statisticians use programming skills to analyze data and make inferences. Programming 102: Think Like a Computer Scientist can help statisticians build a strong foundation in Python programming, which is a valuable skill in this field. The course covers topics such as data structures, algorithms, and statistical modeling, which are all important for statisticians.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Programming 102: Think Like a Computer Scientist.
This German-language textbook provides a comprehensive overview of algorithms, including searching, sorting, and graph algorithms. It valuable reference for students who want to read about algorithms in their native language.
This classic algorithms textbook provides a comprehensive overview of essential algorithms, including searching, sorting, and graph algorithms. It valuable reference for understanding the algorithms covered in the course.
This advanced textbook provides a comprehensive treatment of data structures and algorithms, with a focus on Python implementations. It valuable reference for students who want to delve deeper into these topics.
Provides a collection of Python algorithms for various tasks, such as searching, sorting, and graph traversal. It useful reference for students who want to implement algorithms in Python.
This introductory Python textbook covers essential computer science concepts, including algorithms, data structures, and object-oriented programming. It provides a good foundation for understanding the topics covered in the course.
Provides a comprehensive overview of data structures and algorithm analysis, using Java as the programming language. It valuable reference for students who want to learn about these topics in a different programming language.
Provides a concise overview of essential algorithms, including searching, sorting, and graph algorithms. It good resource for students who want to quickly review these topics.
This classic algorithms textbook provides a comprehensive overview of essential algorithms, including searching, sorting, and graph algorithms. It valuable reference for students who want to delve deeper into these topics.
Provides a simplified introduction to essential algorithms, including searching, sorting, and graph algorithms. It good resource for students who want to learn about these topics in an accessible way.
Provides a comprehensive guide to algorithm design, including techniques and strategies for solving a wide range of computational problems. It valuable reference for students who want to learn how to design efficient algorithms.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Programming 102: Think Like a Computer Scientist.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser