Bachelor of Science Degree in Computer Science

Curriculum Objectives and Outcomes
Following are the objectives and outcomes of the computer science (CSC) curriculum at NC State University's College of Engineering.

  1. CSC students will be competent in theoretical and mathematical foundations of computer science. The outcomes associated with this objective are that, upon graduation, CSC students should be able to:

    a. apply fundamental concepts of discrete mathematics such as logic & proofs, set theory, relations & functions, and combinatorics to model computational problems.

    b. demonstrate the application of abstract structures such as graphs, finite state machines, and recurrence relations to the solution of computer science problems.

    c. analyze and evaluate comparative performance of algorithms and data structures appropriate to solving computer science problems.
  2. CSC students will be able to construct algorithms and data structures applicable to problems solved by computer scientists. The outcomes associated with this objective are that, upon graduation, CSC students should be able to:

    a. apply concepts related to data structures such as lists, stacks, queues, arrays, graphs, trees, heaps, and hashing to design and create algorithms.

    b. recognize design patterns and use these to guide solutions to computer science problems.
  3. Upon graduation, computer science students will be proficient in one programming language and have a basic knowledge of several others. The outcomes associated with this objective are that, upon graduation, CSC students should be able to:

    a. write efficient solutions to specific problems using an object-oriented programming language.

    b. write programs in assembly language.

    c. write programs in a procedural programming language.
  4. CSC students will understand the hardware and software architecture of computer systems. The outcomes associated with this objective are that, upon graduation, CSC students should be able to:

    a. define and explain instruction sets

    b. explain the function and interaction of computer processing units, memories, and input/output devices

    c. define and explain elements of operating systems such as memory management, process scheduling, synchronization and interaction, and input/output devices.

    d. distinguish computer network elements and understand issues related to computer security.
  5. CSC students will demonstrate the ability to participate in professional practices related to software engineering. The outcomes associated with this objective are that, upon graduation, CSC students should be able to:

    a. negotiate, clarify, and document customer requirements.

    b. apply knowledge of fundamental algorithms, programming language concepts, and design patterns to determine an
    overall design for a software system.

    c. implement a fully specified system.

    d. test a fully specified system.

    e. plan and monitor the progress of software projects to ensure on time delivery of a high-quality system.
  6. CSC students will be able to communicate effectively about computer science-related topics. The outcomes associated with this objective are that, upon graduation, CSC students should be able to:

    a. deliver an audience-sensitive oral technical presentation.

    b. write an audience-sensitive technical document.

    c. contribute effectively on software-based system development teams.
  7. CSC students will demonstrate the ability to be responsible practitioners of computer science and understand the social and ethical implications of computing. The outcomes associated with this objective are that, upon graduation, CSC students should be able to:

    a. demonstrate ways in which computers pose new ethical questions or pose new versions of standards, moral problems and dilemmas.

    b. recognize and, when appropriate, to resolve ethical problems or dilemmas related to the computing profession.

Related links

Proposed Program of Study
Undergraduate CSC Program Policies
Return to Programs

go to top

Top of page


Text Only Options

Open the original version of this page.

     

LIFT Text Transcoder is a UsableNet product. LIFT Text Transcoder Main Page.

Jump to the 'Text Only Options' section.