Computer Programming

 

Undergraduate Certificate | Computer Programming

Program Format:   
Entrance Exam: Not required

The modern workplace holds more opportunities for computing professionals than for professionals in any other discipline. Society’s technological needs are growing exponentially, and industries often struggle to find professionals trained in the various areas of computer science needed to master that technology. No longer reserved for an elite few, the skills of the computer programmer are critical to all industries. Nearly every office worker can enhance his or her credentials and advance professionally by developing strong computer skills. Our undergraduate computer science courses are designed to help you do just that!

Offered entirely online and open to students with a bachelor’s degree in any field other than computer science or computer engineering, the Computer Programming Certificate (CPC) is ideal for working professionals. Specifically designed to help you gain fundamental computing skills to further your current career or prepare for career change, the CPC provides a professional credential; it verifies your programming competency and understanding of the theoretical foundations of computer science. The required courses focus on developing JAVA programming skills that you can use to successfully program in any environment. The CPC is administered by NC State's Engineering Online (EOL) program.

ADMISSIONS REQUIREMENTS

Enrolling in Engineering Online’s undergraduate-level computer science courses as a non-degree Undergraduate Studies (UGS) student is a multi-step process.  To enroll in an online computer science course as a non-degree student follow the instructions below.

Engineering Online Registration Form
Once you have selected your desired course(s), complete our online registration form. Submitting this form notifies our office of your desire to be an Engineering Online student, and helps us guide you through the next steps in the process.

Engineering Online Review
Engineering Online staff will review your registration form prior to enrolling you in the requested course(s).  Admission as a non-degree student taking undergraduate computer science courses is a non-competitive process. However, to enroll in these courses, you must have a bachelor's degree (B.S. or B.A.) in a field other than computer science or computer engineering and meet the prerequisites for each course you wish to take.* Our staff will contact you if more information is needed to verify your academic credentials prior to enrollment.

*Students are asked to provide an unofficial transcript to document enrollment in courses higher than CSC 116.

University Non-Degree Studies Application Form    
Once you have submitted the registration form and our office has approved your request to enroll in Engineering Online courses, you will be instructed to complete the Non-Degree Studies Application Form. Within this form, indicate that you have been accepted to the Computer Programming Certificate (CPC) program so that you will not have to pay the application fee charged to other non-degree applicants.  Submitting this form notifies central campus offices that you intend to be a student at NC State University. Among other things, this generates a campus ID number for you, as well as the Unity ID that allows you to access to crucial campus systems and course material.

International Applicants 
With an international student population numbering in the thousands, NC State University’s College of Engineering is committed to international diversity and the global exchange of ideas. To support this mission, Engineering Online strongly encourages qualified foreign nationals to participate in our undergraduate computer science courses.

Prospective foreign national non-degree students must receive clearance from the Office of International Scholar and Student Services (OISSS) each term before enrolling in classes. Instructions for doing this will be provided through email once Engineering Online staff have reviewed your submitted registration form.

EOL Staff: Keeping You Updated
Engineering Online staff will update you via email throughout the UGS admission process. You will be notified of any steps that need to be completed, and receive a confirmation email once your admission as a non-degree student is finalized and you are successfully enrolled in your requested course(s).

PLAN OF STUDY

The certificate requires 25 credit hours (eight courses). Students pursuing university certificate programs are considered non-degree studies (NDS) students for the purpose of university registration. NDS students may register for a maximum of eight credit hours per semester. Thus, the certificate may take from four to eight semesters to complete.

CAREER PROSPECTS

The Engineering Online program at NC State University is designed for working professionals. The Computer Programming Certificate from NC State University provides individuals with the skills needed to change careers, develop a better foundation for a technical management career, and establish a programming competency and an understanding of the theoretical foundations of computer science. The required courses focus on developing Java programming skills that can be used successfully to program in any environment.

Completion of the Computer Programming Certificate requires 25 credit hours (eight courses). Students must have a 2.0 or higher GPA in all required courses to be awarded the certificate.
NOTE: Students who intend to pursue graduate study in computer science after completion of the certificate should take MA 141 in place of MA 121.

MA 121 - Elements of Calculus

Units: 3

For students who require only a single semester of calculus. Emphasis on concepts and applications of calculus, along with basic skills. Algebra review, functions, graphs, limits, derivatives, integrals, logarithmic and exponential functions, functions of several variables, applications in management, applications in biological and social sciences. Credit is not allowed in more than one of MA 121, 131, 141. MA 121 may not be substituted for MA 131 or MA 141 as a curricular requirement

GEP: Mathematical Sciences

Offered in Fall Spring Summer

CSC 116 - Introduction to Computing - Java

Units: 3

An introductory course in computing in Java. Emphasis on algorithm development and problem solving. Careful and methodical development of Java applications and applets from specifications; documentation and style; appropriate use of control structures; classes and methods; data types and data abstraction; object-oriented programming and design; graphical user interface design. Most seats reserved for Computer Science majors.

Offered in Fall Spring Summer

Find this course:

2018 Spring Term 2018 Summer Term 1 2018 Fall Term

CSC 216 - Programming Concepts - Java

Units: 4

The second course in computing, intended for majors. Emphasis is placed on software system design and testing; encapsulation; polymorphism; composition; inheritance; linear data structures; specification and implementation of finite-state machines; interpretation of inductive definitions [functions and data types]; and resource management.

Offered in Fall Spring Summer

Find this course:

2018 Spring Term 2018 Summer Term 1 2018 Fall Term

CSC 226 - Discrete Mathematics for Computer Scientists

Units: 3

Propositional logic and the predicate calculus. Logic gates and circuits. Methods of proof. Elementary set theory. Mathematical induction. Recursive definitions and algorithms. Solving recurrences. The analysis of algorithms and asymptotic growth of functions. Elementary combinatorics. Introduction to graph theory. Ordered sets, including posets and equivalence relations. Introduction to formal languages and automata.

Offered in Fall Spring Summer

Find this course:

2018 Spring Term 2018 Summer Term 1 2018 Fall Term

CSC 230 - C and Software Tools

Units: 3

Details of C programming as compared with Java; Lexical structure, syntax, semantics, and pragmatics [idioms, common uses] of C; Stages of compliation, linking and execution; Strings, arrays, structures, pointers, and memory management; C libraries;Tools for design, maintenance, and debugging of programs; Separate compliation, modular programming; Integrated development environments.

Offered in Fall Spring Summer

Find this course:

2018 Spring Term 2018 Fall Term

CSC 236 - Computer Organization and Assembly Language for Computer Scientists

Units: 3

Computer architecture topics required by professional software developers, including binary and hexadecimal numbers, hardware component organization, machine instruction sets, assembler language programming, linking assembler language with high-level languages, program testing, computer hardware design issues, computer software design issues, and trends in current computer design.

Offered in Fall Spring Summer

Find this course:

2018 Spring Term 2018 Summer Term 1 2018 Fall Term

CSC 246 - Concepts and Facilities of Operating Systems for Computer Scientists

Units: 3

Fundamental concepts of computer operating systems for computer scientists, including memory management, file systems, process management, distributed systems, deadlocks, and basic security and system accounting.

Offered in Fall Spring Summer

Find this course:

2018 Spring Term 2018 Summer Term 1 2018 Fall Term

CSC 316 - Data Structures and Algorithms

Units: 3

Abstract data types; abstract and implementation-level views of data types. Linear and branching data structures, including stacks, queues, trees, heaps, hash tables, graphs, and others at discretion of instructor. Best, worst, and average case asymptotic time and space complexity as a means of formal analysis of iterative and recursive algorithms.

Offered in Fall Spring Summer

Find this course:

2018 Spring Term 2018 Summer Term 1 2018 Fall Term

Entry Semester Application Deadlines and Details
FallAugust 20, 2018
SpringJanuary 2, 2019
SummerJune 21, 2018

Dr. Barbara Jasmine Adams

Director of Undergraduate Advising for Computer Science

College of Engineering

919.513.7888
barbara_adams@ncsu.edu