Aerial view of campus with Williamsport, the Susquehanna River and Bald Eagle Mountain as a backdrop

Computer Science Learning Goals

Students who major in applied computer science can expect to achieve the following learning goals:

  • Students shall demonstrate teamwork, ethical conduct, and the ability to design valid, verifiable, and correct software artifacts.
  • Students shall demonstrate an understanding and application of the following:
    • how computing systems are constructed of multiple layers,
    • the basic concepts of synchronous and asynchronous systems,
    • the major objectives, functions, and concepts of modern operating systems, and
    • formal logical reasoning and proof of correctness to real problems.
  • Students shall demonstrate the ability to apply principles of design and implementation based on sound theory, including the following:
    • analysis of best, average, and worst-case behaviors of an algorithm,
    • estimation of time and space complexities of various algorithms,
    • application of an appropriate algorithmic approach to a given problem,
    • comparison of various data structures for a given problem.
    • implement in code OOP constructs, such as encapsulation, abstraction, inheritance, and polymorphism,
    • write an application that uses a modern graphical user interface, and
    • implement software artifacts using best practices in software engineering.