Computer Science

Associate Professors: Marcus Birkenkrahe
Assistant Professor: Pietro Dall'olio

Computer Science is a rapidly changing and exciting field. Its impact on our lives is evidenced by the variety of uses of information technology in business, industry, entertainment, science, and government, to name a few. The Computer Science Major focuses on the foundations of the computer sciences including areas such as software and hardware design, mathematical foundations of computer science, and complexity of computation. The program is designed to give students an enduring foundation for future professional growth. The program blends theory and practice into a learning experience that gives students the capability to apply computer and information systems technology to a wide range of disciplines. 

  •  MTH 115 and MTH 210 may also be used to satisfy core requirements. 

NOTE: To graduate with a Bachelor of Arts or Bachelor of Science degree from Lyon College, students must successfully complete a minimum of 120 semester credit hours comprised of our required Core curriculum (44-48 hours), the requirements of at least one major (credit hours vary per major), and a selection of our Liberal Arts electives. They must also earn at least a 2.00 cumulative grade point average for all work taken at Lyon College and a 2.00 cumulative grade point average in their major, minor, and concentration.

Degrees

Courses

CSC 100: Introduction to Programming in C++

Class Program
Credits 3

An introduction to structured programming, including conditional statements, loops, functions, input, output, and use of various data types. Object-oriented features are introduced.

Prerequisites

MTH 101 or MTH 103

CSC 105: Digital Humanities

Class Program
Credits 3

An introduction to the theory and methods of Digital Humanities. Topics will include digital text encoding (XML), text computation and analysis, data visualization, and geographic information system (GIS) mapping.

CSC 109: Introduction to Programming in Python

Class Program
Credits 3

This course assumes students have no prior programming experience and then introduces them to the Python programming language. Topics include basic programming concepts, problem-solving methods, algorithm development, program design and learning the use of  packages/ libraries useful for data processing tasks.

Prerequisite Courses

CSC 230: Web Development

Class Program
Credits 3

This course introduces basic web page development techniques. Topics include HTML, CSS, scripting languages, and commercial software packages used in the development of web pages. The course also includes detailed discussion of design practices, such as the appropriate use of text and graphics, font and color selection, navigation techniques, media formats, and methods of enhancing the user experience.  At the conclusion of this course, students will be able to use specified markup languages to develop basic web pages.

Prerequisite Courses

CSC 240: Data Structures with C++

Class Program
Credits 3

Fundamentals of data structures as they are used for the efficient storage and manipulation of data.Topics include common data structures that are used in various computational problems, such as stacks, queues, trees, lists, and heaps

Prerequisites

MTH 101 and one of the following: CSC 100, CSC 115 or CSC 109

CSC 255: Computer Architecture

Class Program
Credits 3

Introduction to computer organization and the basic structure of a modern programmable computer. Topics covered include the von Neumann architecture, the CPU, pipelining, memory hierarchy, assembly/ machine language, and the basic laws underlying performance evaluation.

Prerequisites

CSC 240 and CSC 245

CSC 265: Algorithms

Class Program
Credits 3

Study of algorithmic paradigms including divide and conquer algorithms, greedy methods, dynamic programming, heuristics, and probabilistic algorithms.

Prerequisite Courses

CSC 301: Junior Internship

Class Program
Credits 1 2

Practical experience through a supervised internship. Students can conduct their internships on-site, working under the supervision of computing/automation/IT professionals, or on eIntern.

Prerequisites

CSC 100 and permission of instructor

CSC 320: Programming Languages

Class Program
Credits 3

A study of programming languages, their data, paradigms, and design and implementation issues. Topics include language representation, control structures, binding, run-time environment, exception handling, information handling, encapsulation and static and dynamic types.

Prerequisite Courses

CSC 330: Database Theory and Application

Class Program
Credits 3

An introduction to the theory of databases, database design, and database application development. Topics include database models such as relational, network, hierarchical, object-oriented, and distributed. Students will apply this theory to the development of an actual database application.

Prerequisites

MTH 115 or MTH 290 and one of the following: CSC 100, CSC 115, or CSC 109

CSC 401: Senior Internship

Class Program
Credits 1 2

Practical experience through a supervised internship. Students can conduct their internships on-site, working under the supervision of computing/automation/IT professionals, or on eIntern.

Prerequisites

CSC 100 and permission of instructor

CSC 415: Numerical Analysis

Class Program
Credits 3

Examination of error analysis, interpolation, approximate differentiation, approximate integration, solutions to differential equations, matrix manipulation, and solutions to systems of linear equations. (Same as MTH 415)

Prerequisites

MTH 210 and one of the following: CSC 100, CSC 115, or CSC 109

CSC 420: Operating Systems

Class Program
Credits 3

An introduction to the components and organization of operating systems. Batch, interactive and distributed operating systems will be considered. Other topics include multiprogramming, multiprocessing, concurrent programming, memory management, and resource allocation.

Prerequisite Courses