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 Java program to model a real-world system, and subsequently analyze its behavior.
  • Programming Languages: To know and use basic Java programming constructs for object-oriented problem solving (e.g., classes, polymorphism, inheritance, interfaces).
  • Algorithms and Complexity: To appreciate the role of algorithms and data structures in problem solving and software design (e.g., objected-oriented design, lists, files, searching and sorting)
  • Software Engineering: To develop programming skills that can serve as a foundation for further study in computer science.
  • Social Issues and Professional Practice: Social implications of computing in a networked world and the impact of social media on individualism, collectivism 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.