Computer Science Education

NDSU Graduate Certificate Program Requirements And Overview/Description

This certificate is primarily aimed at high school teachers in need of credentials to teach "dual credit" courses in their schools as well as AP Computer Science instructors. To meet the needs of the program the courses must be (1) online; (2) taught in the summer; and (3) taught in a condensed or hybrid format.

The graduate certificate in Computer Science Education is comprised of six 3-credit courses for a total requirement of eighteen credits, aimed at preparing for teaching high school CS. The certificate program will be offered online, all year long as courses are developed. The courses are selected for their content which covers the essential, core concepts of Computer Science, and how to teach them.

Required Courses

  • CSCI 641: Introduction to Computer Science Education. (3 Credits).

    Overview of the main areas of Computer Science Education. The Active-Learning-Based Teaching Model, Research in Computer Science Education. Teaching Methods in Computer Science Education, and Lab-Based Teaching. Projects include curriculum design for a 2-semester high school sequence and an AP practice test.

  • CSCI 642: Computer Science Problem Solving (3 Credits)

    Computer-based problem solving techniques are introduced in the context of the Internet, including web-site development. Programming concepts, data structures and algorithms, as well as modeling techniques are discussed, also touching on topics not directly studied in the other courses, such as Theory of Computation, Algorithm Analysis, Operating Systems and Computer Architecture

  • CSCI 643: Introduction to Computer Programming (3 Credits)

    Introduction to computer science including problem solving, algorithm development, and structured programming in a high-level language. Emphasis on design, coding, testing, and documentation of programs using accepted standards of style

  • CSCI 644: Data Structures and Algorithms (3 Credits)

    Continuation of CSCI 643 that emphasizes more advanced programming language features and basic data structures. Students will learn to incorporate advanced programming features such as Interfaces and Generics into the programs they develop.

Elective Courses

(students must choose two of the following)

  • CSCI 645 Web and Mobile Development (3 Credits)

    This course introduces students to the UNIX operating system and examines Scripting Languages and their applications. Emphasis will be placed on web scripting. A representative set of scripting languages will be covered.

  • CSCI 713. Software Development Processes (3 Credits)

    This course is designed as a breadth course on the software engineering process. Basic concepts are reviewed and reassured to create a basis for higher concepts and techniques.

  • CSCI 724. Survey of Artificial Intelligence. (3 Credits)

    Survey of major areas of AI including theorem proving, heuristic search, problem solving, computer analysis of scenes, robotics, natural language understanding, and knowledge-based systems.

  • CSCI 765. Introduction to Database Systems (3 Credits)

    Basic database concepts, models, management facilities, data structures, storage structures, data definition languages, data manipulation languages, normalization, operator implementation algorithms, transactions, correctness, reliability, distribution, performance analysis.

  • CSCI 773. Foundations of the Digital Enterprise (3 Credits)

    This course covers current and emerging digital technologies, including web development, security, server management, and privacy.


Admission Requirements

Degree Requirements

Faculty and Staff

Department Information

Department Head:
Kendall E. Nygard, Ph.D.

Graduate Coordinator:
Gursimran Walia, Ph.D.

Department Location:
258 QBB

Department Phone:
(701) 231-8562

Department Email:

Department Web Site:

Application Deadline:

Degrees Offered:
Ph.D., M.S., M.S.E, Certificate

Test Requirement:
GRE (M.S. and Ph.D. only)

English Proficiency Requirements:


As part of the Graduate Certificate Program every student will prepare a .Digital Portfolio. with artifacts of accomplishment that is shareable and organized for final presentation. This Digital Portfolio will document the information necessary to teach any Computer Science course needed in the high school. Artifacts will be added to the portfolio after the completion of each course, as follows.

CSCI 641Document 1 - Develop Course syllabus (with course outline) for the proposed class/topic. Document course description, objectives, textbook/ software/ hardware support, course learning goals, educational practices and assessment criteria.
CSCI 642Document 2 - Instructor Course Web site with course syllabus, detailed course outline, teaching materials, and support materials
CSCI 643Document 3 - Document with the set of home assignments, in-class problems, quizzes, and exams, with specific grading criteria such as what factors will be graded, how they will be weighted, and how they will be translated into the overall grade.

Document 4 - Document with description and requirements of the Final project, including: problem requirements, design, solution, test plan, support documentation and solution documentation

CSCI 644Document 5 - Web site/document designed and delivered after every elective course with syllabus, assignment examples, exam examples, the description of the possible team project, and references to the support material

Document 6 - Develop a set of problems and solutions for every topic. Develop grading Rubrics for every project

At the end of the Graduate Certificate Program every Digital Portfolio will be presented and evaluated by classmates and professor in-class. Portfolios will be used to evaluate students and bolster accreditation.


The Graduate Certificate Program in Computer Science Education will focus on the following:

  1. Focus on fundamental topics providing a broad background in Computer Science.
  2. Be flexible enough to allow students from varied backgrounds and different points in their working career to enter the program with a minimum of pre-requisite work.
  3. Be flexible enough to allow students currently pursuing advanced degrees in computing related disciplines to join the program and readily add the Graduate Certificate to their credentials.
  4. Provide the necessary 18 credit hours for high school teaching credentials while presenting a course offering schedule to allow students to complete the program in fifteen months.
  5. Make maximum use of existing department resources at NDSU to support delivery of the program.
  6. Gain a broad background and knowledge in Computer Science Education through a fixed set of core courses.

Contact:; Modified: 13April2019