Black computer keyboard

Photo by Fotis Fotopoulos on Unsplash.

Students develop programming skills that serve as a foundation for further study in computer science. They learn object-oriented programming and design software that models real-world systems from our networked world and gain an appreciation for the role of algorithms and data structures in problem-solving and software design (e.g., objected-oriented design, lists, files, searching, and sorting). Elementary numerical methods and the construction of a simple graphical user interface (GUI) are also discussed. AU Core Integrative Requirement: Quantitative Literacy II. Usually Offered: fall and spring. Prerequisite: CSC-148 (CS I) and completion of Quantitative Literacy I (Q1) requirement.

In this class, you will learn about:

  • Software Development Fundamentals: To be able to design and implement a Python program that meets a list of requirements, debug that program using tests, and analyze its behavior in modelling real-world situations.
  • Programming Languages: To know and use basic Python programming constructs for object-oriented programming (e.g., classes, polymorphism, inheritance). These skills serve as a foundation for OOP concepts found in most modern programming languages.
  • Algorithms and Complexity: To appreciate the role of algorithms and data structures in problem-solving and software design (e.g., objected-oriented programming, lists, files, searching, and sorting). To understand the effects that algorithms of varying time complexity have on the resiliency and efficiency of real world systems.
  • Software Engineering: To develop programming skills that can serve as a foundation for further study in computer science. To work with software version control systems independently and in groups.
  • Social Issues and Professional Practice: To identify and discuss the social implications of computing in a networked world and the impact of social media on individuals, communities, and culture.

AU Core Quantitative Literacy II (Q2) Outcomes:

  • Translate real-world questions or intellectual inquiries into quantitative frameworks.
  • Select and apply appropriate quantitative methods or reasoning.
  • Draw appropriate insights from the application of a quantitative framework.
  • Explain quantitative reasoning and insights using appropriate forms of representation so that others could replicate the findings.