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.

 

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 Computer Science and Engineering.

Core Courses

  • CSCE 160 - Introduction to Computer Programming

    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.

    Schedule Of Classes

  • CSCE 210 - Data Structures

    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.

    Schedule Of Classes

  • CSCE 220 - Computer Organization and Design

    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.

    Schedule Of Classes

  • CSCE 230 - Discrete Structures

    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.

    Schedule Of Classes

  • CSCE 306 - Object-Oriented Software Development

    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.

    Schedule Of Classes

  • CSCE 340 - Design and Analysis of Algorithms

    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.

    Schedule Of Classes

  • CSCE 420 - Operating Systems

    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.

    Schedule Of Classes

  • CSCE 494 - Senior Capstone

    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.

    Schedule Of Classes

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

    4.00 credit hours

    An examination of alternative bases for morality and the arguments by which moral claims are justified.

    Schedule Of Classes

  • PHIL 210 - Professional Ethics

    PHIL 210 - Professional Ethics

    4.00 credit hours

    Professional ethics in selected career fields including law, business and biomedicine. Students may apply basic concepts to the career of their choice, relate their personal ethics to professional ethics and become better informed consumers of professional services. This course begins with an examination of the alternative bases for making moral judgments.

    Schedule Of Classes

Communications

One of the following:

  • COMM 200 - Interpersonal Communication

    COMM 200 - Interpersonal Communication

    4.00 credit hours

    An introductory study of the theory and practice of human communication within diverse relationships and contexts. The emphasis will be on dyadic (one-on-one) communication and the basic verbal and nonverbal strategies affecting perception and comprehension within the communication process. Key subtopics will include nonverbal communication, verbal styles, relationship development and conflict management. Requires participation in written and oral activities designed to develop and improve interpersonal skills.

    Schedule Of Classes

  • COMM 214 - Group Interaction

    COMM 214 - Group Interaction

    4.00 credit hours

    Students are introduced to the theory and practice of small group communication and decision-making. The course features an extensive group project, where students develop their abilities to participate, observe, analyze, evaluate and intervene in small group communication.

    Schedule Of Classes

  • COMM 280 - Business and Professional Communication

    COMM 280 - Business and Professional Communication

    4.00 credit hours

    An intermediate course in which students develop the skills and strategies for use in written, face-to-face and electronic communication in professional settings. Students learn fundamentals of writing and presenting in professional contexts and may investigate organizational communication practices such as interviewing, performance feedback, training and meeting management.

    Schedule Of Classes

  • COMM 285 - Argumentation and Debate

    COMM 285 - Argumentation and Debate

    4.00 credit hours

    An intermediate course that addresses both theory and practice in argumentation. Through preparation and participation in debates, students learn the basic principles of debate, emphasizing the development of research, critical thinking and oral presentation skills.

    Schedule Of Classes

  • COMM 287 - Advanced Public Speaking

    COMM 287 - Advanced Public Speaking

    4.00 credit hours

    Building upon the fundamentals learned in COMM 100, students refine their skills in impromptu, manuscript and extemporaneous speaking in applied settings. The class includes communication theory as well as speech preparation and delivery techniques for speeches that include variations of informative, persuasive and special occasion speeches, as well as emphasis on oral interpretation of texts. This advanced skills course serves Communication majors as well as other students who are seeking to improve their presentation skills.

    Schedule Of Classes

  • LEAD 230 - Conflict Resolution

    LEAD 230 - Conflict Resolution

    4.00 credit hours

    An inquiry into the theories and skills relating to the resolution of conflict in the community and the workplace. A variety of approaches will be used to understand and analyze issues and develop skills including lecture/discussion, negotiation exercises and simulated mediations. The course will focus on developing the ability to practice as a mediator.

    Schedule Of Classes

  • MEDI 200 - Digital Media Writing

    MEDI 200 - Digital Media Writing

    4.00 credit hours

    Digital media writing introduces students to writing on different types of platforms including the web, applications and social media. Students learn to write in a variety of different genres including blog writing, online news and public relations. The course also hones writing and research skills for digital writing.

    Schedule Of Classes

  • MEDI 255 - Social Media

    MEDI 255 - Social Media

    4.00 credit hours

    Examines social media as an evolving, complex system of channels used to communicate, exchange messages and persuade. This class focuses on the crafting of messages for distinct social media channels and audiences. Among the things that we will consider are the uses of social media in advertising, social movements, and political campaigns.

    Schedule Of Classes

Foreign Language

Students must demonstrate elementary competence in a foreign language. For more information, see the B.A. Degree Requirements within the Academic Regulations section of this catalog.

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 Computer Science and Engineering.

Core Courses

  • CSCE 160 - Introduction to Computer Programming

    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.

    Schedule Of Classes

  • CSCE 210 - Data Structures

    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.

    Schedule Of Classes

  • CSCE 220 - Computer Organization and Design

    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.

    Schedule Of Classes

  • CSCE 230 - Discrete Structures

    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.

    Schedule Of Classes

  • CSCE 306 - Object-Oriented Software Development

    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.

    Schedule Of Classes

  • CSCE 340 - Design and Analysis of Algorithms

    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.

    Schedule Of Classes

  • CSCE 420 - Operating Systems

    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.

    Schedule Of Classes

  • CSCE 494 - Senior Capstone

    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.

    Schedule Of Classes

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

    4.00 credit hours

    An examination of alternative bases for morality and the arguments by which moral claims are justified.

    Schedule Of Classes

  • PHIL 210 - Professional Ethics

    PHIL 210 - Professional Ethics

    4.00 credit hours

    Professional ethics in selected career fields including law, business and biomedicine. Students may apply basic concepts to the career of their choice, relate their personal ethics to professional ethics and become better informed consumers of professional services. This course begins with an examination of the alternative bases for making moral judgments.

    Schedule Of Classes

Communications

One of the following:

  • COMM 200 - Interpersonal Communication

    COMM 200 - Interpersonal Communication

    4.00 credit hours

    An introductory study of the theory and practice of human communication within diverse relationships and contexts. The emphasis will be on dyadic (one-on-one) communication and the basic verbal and nonverbal strategies affecting perception and comprehension within the communication process. Key subtopics will include nonverbal communication, verbal styles, relationship development and conflict management. Requires participation in written and oral activities designed to develop and improve interpersonal skills.

    Schedule Of Classes

  • COMM 214 - Group Interaction

    COMM 214 - Group Interaction

    4.00 credit hours

    Students are introduced to the theory and practice of small group communication and decision-making. The course features an extensive group project, where students develop their abilities to participate, observe, analyze, evaluate and intervene in small group communication.

    Schedule Of Classes

  • COMM 280 - Business and Professional Communication

    COMM 280 - Business and Professional Communication

    4.00 credit hours

    An intermediate course in which students develop the skills and strategies for use in written, face-to-face and electronic communication in professional settings. Students learn fundamentals of writing and presenting in professional contexts and may investigate organizational communication practices such as interviewing, performance feedback, training and meeting management.

    Schedule Of Classes

  • COMM 285 - Argumentation and Debate

    COMM 285 - Argumentation and Debate

    4.00 credit hours

    An intermediate course that addresses both theory and practice in argumentation. Through preparation and participation in debates, students learn the basic principles of debate, emphasizing the development of research, critical thinking and oral presentation skills.

    Schedule Of Classes

  • COMM 287 - Advanced Public Speaking

    COMM 287 - Advanced Public Speaking

    4.00 credit hours

    Building upon the fundamentals learned in COMM 100, students refine their skills in impromptu, manuscript and extemporaneous speaking in applied settings. The class includes communication theory as well as speech preparation and delivery techniques for speeches that include variations of informative, persuasive and special occasion speeches, as well as emphasis on oral interpretation of texts. This advanced skills course serves Communication majors as well as other students who are seeking to improve their presentation skills.

    Schedule Of Classes

  • LEAD 230 - Conflict Resolution

    LEAD 230 - Conflict Resolution

    4.00 credit hours

    An inquiry into the theories and skills relating to the resolution of conflict in the community and the workplace. A variety of approaches will be used to understand and analyze issues and develop skills including lecture/discussion, negotiation exercises and simulated mediations. The course will focus on developing the ability to practice as a mediator.

    Schedule Of Classes

  • MEDI 200 - Digital Media Writing

    MEDI 200 - Digital Media Writing

    4.00 credit hours

    Digital media writing introduces students to writing on different types of platforms including the web, applications and social media. Students learn to write in a variety of different genres including blog writing, online news and public relations. The course also hones writing and research skills for digital writing.

    Schedule Of Classes

  • MEDI 255 - Social Media

    MEDI 255 - Social Media

    4.00 credit hours

    Examines social media as an evolving, complex system of channels used to communicate, exchange messages and persuade. This class focuses on the crafting of messages for distinct social media channels and audiences. Among the things that we will consider are the uses of social media in advertising, social movements, and political campaigns.

    Schedule Of Classes

  • MATH 151 - Calculus I

    MATH 151 - Calculus I

    4.00 credit hours

    An exploration of the fundamental concepts of single-variable calculus including limits, continuity, differentiation and integration with applications.

    Schedule Of Classes

  • MATH 152 - Calculus II

    MATH 152 - Calculus II

    4.00 credit hours

    A continuation of single-variable calculus with emphasis on advanced integration techniques and applications, parametric equations, polar coordinates, and infinite series.

    Schedule Of Classes

Statistics

One of the following:

  • BUSN 265 - Business and Economics Statistics

    BUSN 265 - Business and Economics Statistics

    4.00 credit hours

    Provides an overview of basic statistics as it applies to business. The focus is on learning statistical concepts by applying analytical reasoning to business applications. Examples illustrating the relevance of statistics to broad areas of business are used. The course requires students to use spreadsheet programs, statistical programs, the Internet and other computer tools in analyzing statistics. The focus is on application of the material and on solving problems. Only one of BUSN 265 and PSYC 250 may be taken for credit.

    Schedule Of Classes

  • PSYC 250 - Statistics

    PSYC 250 - Statistics

    4.00 credit hours

    The methods, concepts and logic underlying the statistical evaluation of research data with an emphasis on "why" as well as "when" to use various statistical methods. Content includes descriptive and inferential statistics, estimation and hypothesis testing. Analyses include z and t tests, one-way and factorial ANOVA, correlation, regression and Chi square. Assignments focus on problem solving, technical writing and use of computer statistical packages (SPSS). Only one of BUSN 265 or PSYC 250 may be taken for credit.

    Schedule Of Classes

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 Computer Science and Engineering.

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

    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.

    Schedule Of Classes

  • CSCE 210 - Data Structures

    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.

    Schedule Of Classes

  • CSCE 220 - Computer Organization and Design

    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.

    Schedule Of Classes

  • CSCE 230 - Discrete Structures

    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.

    Schedule Of Classes

  • CSCE 306 - Object-Oriented Software Development

    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.

    Schedule Of Classes

  • CSCE 320 - Computer Architecture

    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.

    Schedule Of Classes

  • CSCE 420 - Operating Systems

    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.

    Schedule Of Classes

  • CSCE 494 - Senior Capstone

    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.

    Schedule Of Classes

    • 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

    4.00 credit hours

    Fundamental concepts of electrical circuits, components and measurement techniques. Lecture/Laboratory.

    Schedule Of Classes

  • ELEC 200 - Digital Logic I

    ELEC 200 - Digital Logic I

    4.00 credit hours

    Students learn to design digital logic building blocks and to create combinational and sequential logic circuits. Lecture/Laboratory.

    Schedule Of Classes

  • ELEC 250 - Circuit Analysis I

    ELEC 250 - Circuit Analysis I

    4.00 credit hours

    Basic circuit analysis, nodal and mesh, equivalent circuits, independent and dependent sources, power and multi-phase circuits. Lecture/Laboratory.

    Schedule Of Classes

  • ELEC 280 - Microcontrollers

    ELEC 280 - Microcontrollers

    2.00 credit hours

    Fundamentals of microcontroller design and operation. Lecture/Laboratory.

    Schedule Of Classes

  • ENGR 100 - Introduction to Engineering

    ENGR 100 - Introduction to Engineering

    2.00 credit hours

    An overview of specific engineering majors, laboratory safety, competitions, internships, research, post-graduate opportunities and employment options. Examines the relevancy of a liberal arts foundation and how it relates to the field of engineering.

    Schedule Of Classes

  • ENGR 110 - The Engineering Method

    ENGR 110 - The Engineering Method

    2.00 credit hours

    Methods and practices employed to develop, commercialize and distribute products and services dependent on engineering will be presented. Includes descriptions of the four major career paths available to engineers. Lecture/Laboratory.

    Schedule Of Classes

  • ENGR 120 - Engineering Calculations

    ENGR 120 - Engineering Calculations

    2.00 credit hours

    Develops the student's ability to use MATLAB to solve various engineering problems. Lecture/Laboratory.

    Schedule Of Classes

Ethics

One of the following:

  • PHIL 110 - Ethics

    PHIL 110 - Ethics

    4.00 credit hours

    An examination of alternative bases for morality and the arguments by which moral claims are justified.

    Schedule Of Classes

  • PHIL 210 - Professional Ethics

    PHIL 210 - Professional Ethics

    4.00 credit hours

    Professional ethics in selected career fields including law, business and biomedicine. Students may apply basic concepts to the career of their choice, relate their personal ethics to professional ethics and become better informed consumers of professional services. This course begins with an examination of the alternative bases for making moral judgments.

    Schedule Of Classes

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

    4.00 credit hours

    An exploration of the fundamental concepts of single-variable calculus including limits, continuity, differentiation and integration with applications.

    Schedule Of Classes

  • MATH 152 - Calculus II

    MATH 152 - Calculus II

    4.00 credit hours

    A continuation of single-variable calculus with emphasis on advanced integration techniques and applications, parametric equations, polar coordinates, and infinite series.

    Schedule Of Classes

  • MATH 253 - Calculus III

    MATH 253 - Calculus III

    4.00 credit hours

    A continuation of calculus with an emphasis on vectors, vector-valued and multiple-variable functions, partial derivatives, line and multiple integrals, vector analysis, Green's, divergence and Stokes' theorems.

    Schedule Of Classes

  • MATH 255 - Linear Algebra and Differential Equation

    MATH 255 - Linear Algebra and Differential Equation

    4.00 credit hours

    First and second order differential equations, systems of differential equations, matrix and vector algebra, systems of linear equations, eigenvalues and eigenvectors. Students may not receive credit for both MATH 255 and either MATH 300 or MATH 315.

    Schedule Of Classes

Laboratory Science

Two of the following:

  • BIOL 106 - Introduction to Environmental Science

    BIOL 106 - Introduction to Environmental Science

    4.00 credit hours

    An overview of biological and physical processes that affect the environment in the context of current environmental issues. Topics include population, community, and ecosystem ecology, conservation biology, water and air pollution and natural resource management. Includes integrated laboratory experience.

    Schedule Of Classes

  • BIOL 108 - Water, Food and Sex

    BIOL 108 - Water, Food and Sex

    4.00 credit hours

    This course explores five biological systems in depth: excretory, respiratory, circulatory, digestive and reproductive. Biological concepts are complemented by discussion from ethical, public health and public policy perspectives, considering topics such as water and food policy, environmental policy and bioethics (e.g., research ethics, informed consent, eugenics, moral status of animals and the human genome). Intended for students not majoring in the laboratory sciences. Includes integrated laboratory experience.

    Schedule Of Classes

  • BIOL 109 - Genes and Our Genetic Future

    BIOL 109 - Genes and Our Genetic Future

    4.00 credit hours

    Exploration of genetics and its medical, social and ethical implications. The science behind advances in genetic technology such as screening for genetic diseases, DNA fingerprinting, stem-cell therapy, genetically modified organisms and gene therapy is discussed in the context of the increasing importance of these technologies in modern society. Includes integrated laboratory experience.

    Schedule Of Classes

  • BIOL 195 - Investigating Biology

    BIOL 195 - Investigating Biology

    4.00 credit hours

    Students and faculty work as a team to conduct an authentic course-based undergraduate research project in an area of current importance. Course content is selected to support the research project and introduces students to concepts, techniques and skills of modern biology. Class activities move fluidly among lecture, laboratory, fieldwork, discussion and problem-solving modes. Gateway to the major.

    Schedule Of Classes

  • CHEM 121 - General Chemistry I

    CHEM 121 - General Chemistry I

    4.00 credit hours

    A discussion of chemical principles through examples from the chemistry of carbon compounds and the molecules found in living systems. Major topics include atomic and electronic structure, ions, molecules, Lewis structures, VSEPR, hybridization, intermolecular forces, chromatography, equilibria, kinetics, stereochemistry and polymer chemistry. Laboratory required.

    Schedule Of Classes

  • CHEM 122 - General Chemistry II

    CHEM 122 - General Chemistry II

    4.00 credit hours

    An introduction to chemical principles within the context of the environmental issues of fuel and energy, water treatment and acid rain. Major chemical topics include gas laws, aqueous reactions and solubility, equilibria, acid/base chemistry, buffers, thermochemistry, redox, electrochemistry and nuclear chemistry. Laboratory required.

    Schedule Of Classes

  • CHEM 125 - General Chemistry for Engineers

    CHEM 125 - General Chemistry for Engineers

    2.00 credit hours

    An introduction to chemical principles within the context of engineering. Major chemical topics include gases, periodic table trends, bonding, atomic and molecular structures, energy, entropy, kinetics, acid-base and equilibria and electrochemistry.

    Schedule Of Classes

  • PHYS 110 - Astronomy

    PHYS 110 - Astronomy

    4.00 credit hours

    Celestial phenomena, the sun and solar system and the observable universe with emphasis on astronomy as a scientific activity relevant to the perception and comprehension of our world. Laboratory required, includes observational techniques and physical principles relevant to astronomy and astrophysics.

    Schedule Of Classes

  • PHYS 161 - Physics I: Mechanics and Heat

    PHYS 161 - Physics I: Mechanics and Heat

    4.00 credit hours

    Newton's Laws of motion, energy conservation, rotational motion, thermodynamics. Laboratory required, includes experimental physics and an introduction to computational modeling. Credit may be earned for only one of PHYS 131 and PHYS 161.

    Schedule Of Classes

  • PHYS 162 - Physics II: Electromagnetism, Waves and Optics

    PHYS 162 - Physics II: Electromagnetism, Waves and Optics

    4.00 credit hours

    Oscillations, waves, electricity, magnetism, optics. Laboratory required, includes experimental physics and computational modeling. Credit may be earned for only one of PHYS 132 and PHYS 162.

    Schedule Of Classes

Statistics/Probability

One of the following:

  • BUSN 265 - Business and Economics Statistics

    BUSN 265 - Business and Economics Statistics

    4.00 credit hours

    Provides an overview of basic statistics as it applies to business. The focus is on learning statistical concepts by applying analytical reasoning to business applications. Examples illustrating the relevance of statistics to broad areas of business are used. The course requires students to use spreadsheet programs, statistical programs, the Internet and other computer tools in analyzing statistics. The focus is on application of the material and on solving problems. Only one of BUSN 265 and PSYC 250 may be taken for credit.

    Schedule Of Classes

  • MATH 260 - Introduction to Mathematical Statistics

    MATH 260 - Introduction to Mathematical Statistics

    4.00 credit hours

    This course provides a calculus-based introduction to probability and the beginning of statistical inference. Topics included: Descriptive statistics, elements of probability theory, random variables, central limit theorem, confidence intervals, hypothesis testing and simple linear regression.

    Schedule Of Classes

  • PSYC 250 - Statistics

    PSYC 250 - Statistics

    4.00 credit hours

    The methods, concepts and logic underlying the statistical evaluation of research data with an emphasis on "why" as well as "when" to use various statistical methods. Content includes descriptive and inferential statistics, estimation and hypothesis testing. Analyses include z and t tests, one-way and factorial ANOVA, correlation, regression and Chi square. Assignments focus on problem solving, technical writing and use of computer statistical packages (SPSS). Only one of BUSN 265 or PSYC 250 may be taken for credit.

    Schedule Of Classes

Notes:

CSCE 230 applies to the Mathematics and Science total hours.

If students do not meet the minimum Mathematics and Science requirements, additional coursework may need to be taken.

Courses below MATH 151 do not apply to the required credit hours in Mathematics and Science.

*Students who do not place into MATH 151 must successfully complete the course prerequisite, MATH 140.

Computer Science Minor

For additional programs and courses in this department, see Computer Science and Engineering.

A minimum 20 credit hours in Computer Science, including:

  • CSCE 160 - Introduction to Computer Programming

    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.

    Schedule Of Classes

  • CSCE 210 - Data Structures

    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.

    Schedule Of Classes

    • Two four credit hour CSCE or IFS* electives at the 200-level or above.
    • One four credit hour CSCE elective at the 300-level or above.

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 210CSCE 230MATH 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 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.

News