Computer Science and Engineering
Computer Scientists and Computer Engineers design and build hardware and software systems that operate devices from the smallest components in your smartphone and tablet to the largest satellites orbiting the globe. As the demand for these technologies continues to increase, so too does the need for computer scientists whose skills drive the next innovation.
Like many highly-rated computer science and engineering programs, our programs prepare our graduates to stay ahead of the curve, thanks to a solid theoretical foundation, a pragmatic curriculum that teaches the most widely used skills and languages, and opportunities outside the classroom, such as internships and student research projects.
What sets our program apart is the understanding that computer science isn't about building programs for computers. It's about building systems for people. Our curriculum helps you develop the skills employers consistently mention as highly valued, yet often absent in the profession--communication skills. At North Central you will learn to write, to speak and listen, and to work effectively with others.
Learn about:
Computer Science, B.A.
Computer science offers a mix of theory of computation, software development, systems concepts, and computing applications. Our graduates are employed in a wide range of companies and research labs.
For additional programs and courses in this department, see
Core Courses
-
CSCE 160 - Introduction to Computer Programming
CSCE 160 - Introduction to Computer Programming
-
CSCE 210 - Data Structures
CSCE 210 - Data Structures
-
CSCE 220 - Computer Organization and Design
CSCE 220 - Computer Organization and Design
-
CSCE 230 - Discrete Structures
CSCE 230 - Discrete Structures
-
CSCE 306 - Object-Oriented Software Development
CSCE 306 - Object-Oriented Software Development
-
CSCE 340 - Design and Analysis of Algorithms
CSCE 340 - Design and Analysis of Algorithms
-
CSCE 420 - Operating Systems
CSCE 420 - Operating Systems
-
CSCE 494 - Senior Capstone
CSCE 494 - Senior Capstone
Electives
- One four credit hour CSCE or INFS elective at the 200-level or above
- One four credit hour CSCE elective at the 300-level or above *
- One four credit hour CSCE elective at the 400-level *
Note:
Support Courses
Ethics
One of the following:
-
PHIL 110 - Ethics
PHIL 110 - Ethics
-
PHIL 210 - Professional Ethics
PHIL 210 - Professional Ethics
Communications
One of the following:
-
COMM 200 - Interpersonal Communication
COMM 200 - Interpersonal Communication
-
COMM 214 - Group Interaction
COMM 214 - Group Interaction
-
COMM 280 - Business and Professional Communication
COMM 280 - Business and Professional Communication
-
COMM 285 - Argumentation and Debate
COMM 285 - Argumentation and Debate
-
COMM 287 - Advanced Public Speaking
COMM 287 - Advanced Public Speaking
-
LEAD 230 - Conflict Resolution
LEAD 230 - Conflict Resolution
-
MEDI 200 - Digital Media Writing
MEDI 200 - Digital Media Writing
-
MEDI 255 - Social Media
MEDI 255 - Social Media
Foreign Language
Students must demonstrate elementary competence in a foreign language. For more information, see the
Communication Courses
-
Two additional four credit hour courses from the Communications list above, not already taken for the major.
Computer Science, B.S.
Computer science offers a mix of theory of computation, software development, systems concepts and computing applications. Our graduates are employed in a wide range of companies and research labs.
For additional programs and courses in this department, see
Core Courses
-
CSCE 160 - Introduction to Computer Programming
CSCE 160 - Introduction to Computer Programming
-
CSCE 210 - Data Structures
CSCE 210 - Data Structures
-
CSCE 220 - Computer Organization and Design
CSCE 220 - Computer Organization and Design
-
CSCE 230 - Discrete Structures
CSCE 230 - Discrete Structures
-
CSCE 306 - Object-Oriented Software Development
CSCE 306 - Object-Oriented Software Development
-
CSCE 340 - Design and Analysis of Algorithms
CSCE 340 - Design and Analysis of Algorithms
-
CSCE 420 - Operating Systems
CSCE 420 - Operating Systems
-
CSCE 494 - Senior Capstone
CSCE 494 - Senior Capstone
Electives
-
One four credit hour CSCE or INFS elective at the 200-level or above
-
One four credit hour CSCE elective at the 300-level or above *
-
One four credit hour CSCE elective at the 400-level *
Note:
Support Courses
Ethics
One of the following:
-
PHIL 110 - Ethics
PHIL 110 - Ethics
-
PHIL 210 - Professional Ethics
PHIL 210 - Professional Ethics
Communications
One of the following:
-
COMM 200 - Interpersonal Communication
COMM 200 - Interpersonal Communication
-
COMM 214 - Group Interaction
COMM 214 - Group Interaction
-
COMM 280 - Business and Professional Communication
COMM 280 - Business and Professional Communication
-
COMM 285 - Argumentation and Debate
COMM 285 - Argumentation and Debate
-
COMM 287 - Advanced Public Speaking
COMM 287 - Advanced Public Speaking
-
LEAD 230 - Conflict Resolution
LEAD 230 - Conflict Resolution
-
MEDI 200 - Digital Media Writing
MEDI 200 - Digital Media Writing
-
MEDI 255 - Social Media
MEDI 255 - Social Media
Statistics
One of the following:
-
BUSN 265 - Business and Economics Statistics
BUSN 265 - Business and Economics Statistics
-
PSYC 250 - Statistics
PSYC 250 - Statistics
Computer Engineering, B.S.
Computer Engineering is a blend of computer science and electrical engineering. Our students see a broad spectrum of applications in the areas of computer hardware/software and electronics.
For additional programs and courses in this department, see
A minimum of 45 credit hours of Engineering coursework to include:
Core Courses
-
CSCE 160 - Introduction to Computer Programming
CSCE 160 - Introduction to Computer Programming
-
CSCE 210 - Data Structures
CSCE 210 - Data Structures
-
CSCE 220 - Computer Organization and Design
CSCE 220 - Computer Organization and Design
-
CSCE 230 - Discrete Structures
CSCE 230 - Discrete Structures
-
CSCE 306 - Object-Oriented Software Development
CSCE 306 - Object-Oriented Software Development
-
CSCE 320 - Computer Architecture
CSCE 320 - Computer Architecture
-
CSCE 420 - Operating Systems
CSCE 420 - Operating Systems
-
CSCE 494 - Senior Capstone
CSCE 494 - Senior Capstone
- Four credit hours of CSCE or INFS electives at or above the 200-level
-
ELEC 150 - Introduction to Electrical Engineering
ELEC 150 - Introduction to Electrical Engineering
-
ELEC 200 - Digital Logic I
ELEC 200 - Digital Logic I
-
ELEC 250 - Circuit Analysis I
ELEC 250 - Circuit Analysis I
-
ELEC 280 - Microcontrollers
ELEC 280 - Microcontrollers
-
ENGR 100 - Introduction to Engineering
ENGR 100 - Introduction to Engineering
-
ENGR 110 - The Engineering Method
ENGR 110 - The Engineering Method
-
ENGR 120 - Engineering Calculations
ENGR 120 - Engineering Calculations
Ethics
One of the following:
-
PHIL 110 - Ethics
PHIL 110 - Ethics
-
PHIL 210 - Professional Ethics
PHIL 210 - Professional Ethics
Mathematics and Laboratory Science
A minimum of 30 credit hours of Mathematics and Science coursework to include:
Mathematics
-
MATH 151 - Calculus I
MATH 151 - Calculus I
-
MATH 152 - Calculus II
MATH 152 - Calculus II
-
MATH 253 - Calculus III
MATH 253 - Calculus III
-
MATH 255 - Linear Algebra and Differential Equation
MATH 255 - Linear Algebra and Differential Equation
Laboratory Science
Two of the following:
-
BIOL 106 - Introduction to Environmental Science
BIOL 106 - Introduction to Environmental Science
-
BIOL 108 - Water, Food and Sex
BIOL 108 - Water, Food and Sex
-
BIOL 109 - Genes and Our Genetic Future
BIOL 109 - Genes and Our Genetic Future
-
BIOL 195 - Investigating Biology
BIOL 195 - Investigating Biology
-
CHEM 121 - General Chemistry I
CHEM 121 - General Chemistry I
-
CHEM 122 - General Chemistry II
CHEM 122 - General Chemistry II
-
CHEM 125 - General Chemistry for Engineers
CHEM 125 - General Chemistry for Engineers
-
PHYS 110 - Astronomy
PHYS 110 - Astronomy
-
PHYS 161 - Physics I: Mechanics and Heat
PHYS 161 - Physics I: Mechanics and Heat
-
PHYS 162 - Physics II: Electromagnetism, Waves and Optics
PHYS 162 - Physics II: Electromagnetism, Waves and Optics
Statistics/Probability
One of the following:
-
BUSN 265 - Business and Economics Statistics
BUSN 265 - Business and Economics Statistics
-
MATH 260 - Introduction to Mathematical Statistics
MATH 260 - Introduction to Mathematical Statistics
-
PSYC 250 - Statistics
PSYC 250 - Statistics
Notes:
If students do not meet the minimum Mathematics and Science requirements, additional coursework may need to be taken.
Courses below
*Students who do not place into
Computer Science Minor
For additional programs and courses in this department, see
A minimum 20 credit hours in Computer Science, including:
Note:
*Only one IFS course may be used to satisfy minor requirements. An internship cannot be used to meet minor requirements.
NOTE: This page contains all of the regular course descriptions for this discipline or program. Academic credit for each course is noted in parenthesis after the course title. Prerequisites (if any) and the general education requirements, both Core and All-College Requirements (ACRs), which each course fulfills (if any) are noted following each course description. Not all courses are offered every year. Check Merlin, our searchable course schedule, to see which courses are being offered in upcoming terms.
Course Descriptions
The courses listed herein have been approved by the faculty as authorized by the Board of Trustees. Prerequisites (if any) and the General Education Requirement(s) which each course fulfills (if any) are noted following each course description.
Current course offerings are available in Merlin.
CSCE 160 - Introduction to Computer Programming
4.00 credit hours - An introduction to computer science and programming, emphasizing the development of algorithms and problem solving skills using both procedural and object-oriented approaches. Topics include data types; I/O; arithmetic, relational and logical operators; control structures; functions; simple data structures; different computing environments such as the Linux operating system are also explored. Integrated laboratory.
CSCE 210 - Data Structures
4.00 credit hours - Elementary data structures and algorithms. Topics include the design, implementation, application and variations of the following: linked lists, stacks and queues; different types of trees; searching and sorting algorithms; graphs; and introduction to analysis of algorithms. Extensive programming required. Integrated laboratory.
Prerequisite(s): Minimum grade of C- in CSCE 160.
CSCE 220 - Computer Organization and Design
4.00 credit hours - Basic computer architecture including combinational circuits, instruction sets, microprogramming, assembly language, I/O (devices, busses and interrupts) and memory systems and organization. Integrated laboratory.
Prerequisite(s): Minimum grade of C- in CSCE 160.
CSCE 230 - Discrete Structures
4.00 credit hours - Fundamental topics in mathematics and computer science including: formal logic; proof techniques; sets, relations and functions; combinatorics and counting techniques; induction and recursion; discrete probability; number theory and cryptography; graphs; Boolean algebra; finite state machines and modeling computation; program verification and algorithm analysis. Programming may be required.
Prerequisite(s): CSCE 160.
CSCE 297 - Internship
0.00-12.00 credit hours
Prerequisite(s): Sophomore standing.
CSCE 299 - Independent Study
1.00-12.00 credit hours
CSCE 306 - Object Oriented Software Development
4.00 credit hours - Object-oriented design and implementation of large scale software. Topics include object-oriented modeling and design, such as the use of UML and software design patterns, object-oriented language features, such as inheritance, polymorphism, encapsulation and overloading, and using existing class libraries. Extensive programming required. Integrated laboratory.
Prerequisite(s): Minimum grade of C- in CSCE 210.
CSCE 315 - Web Applications
4.00 credit hours - Development of web applications. Topics include HTTP, the Browser and Document Object Models; Server-side technologies such as Java Servlets, ASP.NET MVC and NodeJS/Express; Client-side technologies JavaScript, AJAX and JQuery; and server-side database access. Introduction to Single Page Apps and Restful services using JAXRS and ASP.NET Web API. Extensive programming required.
Prerequisite(s): CSCE 210.
CSCE 320 - Computer Architecture
4.00 credit hours - Introduction to digital computer architecture. Topics include performance metrics and evaluation, instruction set architecture, data representation, processor design, memory hierarchy and cache, I/O, data path and control, pipelining, branching, multiprocessors and (review of) assembly language programming. Integrated laboratory.
Prerequisite(s): CSCE 220.
CSCE 327 - Linux Programming
4.00 credit hours - Fundamental concepts, library facilities and programming techniques that provide the foundation for application, systems, network and Internet programming on Linux and Unix systems. Course topics include the operating system kernel, process management, I/O, pipes, signals, sockets and shell programming. The course does not cover system administration. Extensive programming required in C/C++.
Prerequisite(s): CSCE 220 and CSCE 306.
CSCE 330 - Mobile Applications Development
4.00 credit hours - An introduction to creating applications that run on mobile devices such as smartphones, tablets and smart watches. Topics include device hardware and development platforms; interface design; interactivity; SQLite database; multimedia; monetization. Extensive programming required. Integrated laboratory.
Prerequisite(s): CSCE 306.
CSCE 335 - Introduction to Game Design and Development
4.00 credit hours - Project-based course; The design and development of computer games, with an introduction to a modern game engine such as Unity or Unreal Engine. Extensive programming and major project required. Integrated laboratory.
Prerequisite(s): CSCE 306.
CSCE 336 - Human Computer Interaction
4.00 credit hours - Fundamental principles in the design, implementation and evaluation of human-machine interfaces with emphasis on human computer interaction. Topics include user psychology, theories of human learning and perception, audio and visual physiology, graphical user interfaces, task analysis and usability heuristics.
Prerequisite(s): CSCE 210.
CSCE 340 - Design and Analysis of Algorithms
4.00 credit hours - Design and analysis of algorithms. Classification of algorithms by time and space complexity. Algorithm design techniques such as divide and conquer, the greedy method and dynamic programming. NP-complete problems and approximation algorithms. Introduction to parallel algorithms.
Prerequisite(s): CSCE 210 and CSCE 230.
CSCE 370 - Principles of Programming Languages
4.00 credit hours - Design principles behind modern programming languages, analysis of languages, language implementation, formal specification, semantics and parsing, and comparative study of programming paradigms. Programming required.
Prerequisite(s): CSCE 210 and CSCE 230.
CSCE 390 - Special Topics
4.00 credit hours - A course covering a topic of current interest, such as game development, eBusiness, social analytics, virtual/augmented reality or mobile computing.
CSCE 397 - Internship
0.00-12.00 credit hours
Prerequisite(s): Junior standing.
CSCE 399 - Independent Study
1.00-12.00 credit hours - Designed for students who want to study a topic not covered in a regular course.
CSCE 420 - Operating Systems
4.00 credit hours - An examination of approaches to computer system resource management. Topics include scheduling, memory management, file systems, I/O management, multiprocessing, security, and protection. Research literature is used to introduce systems research topics. Extensive programming required. Integrated laboratory.
Prerequisite(s): CSCE 220 and CSCE 306.
CSCE 455 - Windows and .NET Programming
4.00 credit hours - System and application programming on Windows and the .NET platform using C#. Topics include Windows Forms and the Windows Presentation Foundation, inter-process communication, .NET network programming, ADO.NET and security.
Prerequisite(s): CSCE 306.
CSCE 460 - Database Systems
4.00 credit hours - Introduction to data modeling, database design and implementation, SQL, transaction processing, concurrency and recovery with emphasis on the relational model. Database connectivity APIs, such as JDBC are also covered. Programming required.
Prerequisite(s): CSCE 210 and Junior standing.
CSCE 464 - Data Mining and Machine Learning
4.00 credit hours - Introduction to the data mining process and its application to real-world problems. Topics include data preparation techniques, supervised and unsupervised machine learning algorithms and post-processing metrics to identify information of interest. Programming required.
Prerequisite(s): CSCE 210; CSCE 230, MATH 280 or MATH 340.
CSCE 469 - Computer Networks
4.00 credit hours - Exploration of the theory and design issues in data communications and computer networks. Topics include network architecture, TCP/IP protocols, wireless and mobile networks and network security. Extensive programming required. Integrated laboratory.
Prerequisite(s): CSCE 220 and CSCE 306.
CSCE 479 - Computer and Network Security
4.00 credit hours - Introduction to the theory and methods for developing and maintaining secure systems and applications. Topics include secure infrastructures, intrusion prevention and detection, viruses and anti-virus software, software security, authentication, cryptography and legal and ethical issues. Modern topics, such as cryptocurrency, cyber physical systems, cloud computing, etc., are covered through a survey of research and technical literature. Programming required. Integrated laboratory.
Prerequisite(s): CSCE 220 and CSCE 306.
CSCE 480 - Introduction to Artificial Intelligence
4.00 credit hours - Foundational concepts in artificial intelligence (AI); definitions, survey of AI topics, problem solving and searching, heuristics, knowledge representation, reasoning, learning, programming languages for AI; study of applications areas and the research literature. Programming required.
Prerequisite(s): CSCE 230 and CSCE 306.
CSCE 487 - Parallel and Concurrent Programming
4.00 credit hours - A course in hardware, software and language aspects of parallel computing, focusing on the development of effective parallel algorithms and their implementation on a variety of parallel architectures and interconnection networks.
Prerequisite(s): CSCE 420.
CSCE 490 - Special Topics
4.00 credit hours - A course covering a topic of current interest, such as cloud computing, e-Business, machine intelligence, social analytics, video design, virtual/augmented reality or mobile computing.
CSCE 494 - Senior Capstone
4.00 credit hours - Students apply the many skills they have acquired during their undergraduate studies by participating as a member of a team to design, develop and present a computing solution (software/hardware) to a substantive problem. Group process and leadership skills are addressed as well as ethical considerations important to computer science professionals. Formal project proposal, progress report and technical report writing are emphasized.
Prerequisite(s): CSCE 420 and Senior standing.
CSCE 497 - Internship
0.00-12.00 credit hours
Prerequisite(s): Junior standing.
CSCE 499 - Independent Study
1.00-12.00 credit hours - Designed for students who want to study a topic not covered in a regular course.
Faculty and Staff
Faculty Emeriti
Godfrey A. Muganda
Professor of Computer Science Emeritus
B.S., Eastern Mennonite College, 1979; M.S., College of William and Mary, 1980; Ph.D., Lehigh University, 1984
gcmuganda@noctrl.edu
Stephen C. Renk
Professor of Computer Science Emeritus
B.A., 1973, M.S., 1979, Ph.D., 1986, University of Iowa
screnk@noctrl.edu
Caroline St. Clair
Professor of Computer Science Emerita
B.S., Loyola University, 1984; M.S., 1991, Ph.D., 2000, DePaul University
cstclair@noctrl.edu
Judy C. Walters
Associate Professor of Computer Science Emerita
B.A., University of Iowa, 1968; M.S., Illinois Institute of Technology, 1984
jcwalters@noctrl.edu
Adjunct Faculty
Pero Atanasov
B.S., North Central College; M.S., University of Chicago
Senior Software Engineer, Informatica
Brian Craig
B.S., M.S., North Central College
Software Engineer Specialist, Argonne National Laboratory
Jennifer Dust
B.A., M.S., North Central College
Web Applications Programmer and Graduate Assistant, North Central College
Ronald Hurlbut
B.S., M.S., Michigan Tech University
William Krieger
B.S., University of Illinois at Urbana-Champaign; M.S., University of Illinois at Chicago
Co-founder, Synopsys
Computer Science students have the opportunity to participate in a number of activities outside the classroom that will enhance their learning experiences in the classroom.
Students have the opportunity to participate in the yearly ACCA programming competition where our students compete with students from other schools in the Chicagoland area. Students may also choose to participate in our internship program and our summer undergraduate research program where they can gain valuable real-world experience. In addition, students may serve as lab assistants or tutors, or participate in the college's preceptor program.
Students interested in these opportunities should contact the computers science department for more information.