Computer Science
Associate Professor Takako Soma
The Department of Computer Science offers both a major and minor in Computer Science. The primary focus of the major in Computer Science is for students to learn a solid practical foundation in software development (algorithm development and programming). Students also learn the fundamentals of theory and hardware, and how both relate to software. Students further have the opportunity to learn various advanced topics by taking elective courses in computer science. Students are carefully advised by faculty members of the department. The major in computer science helps to prepare students for a career in the field and/or further study in a graduate program. The ACM curriculum recommendations are used as guidelines to create the computer science curriculum.
A student must earn a grade of ‘C-’ (1.67) or better in all classes for a major or minor in Computer Science with an average of ‘C’ (2.00) or above in computer science and ‘C’ or above in MA 201.
Prerequisites for Computer Science courses must be completed with a grade of ‘C-’ or above.
Majors & Programs
-
Computer Science, Major -
Computer Science, Minor
Courses
CS 115: Computational Thinking for Problem Solving
Having computational thinking skills, not just digital literacy or IT skills, is important. It is a problem-solving process that includes decomposition, abstraction, pattern recognition, and algorithms. This class introduces students to the elements of computational thinking which will improve real-life problem-solving skills. Students will also learn simple coding using a visual programming language. The class includes in-class laboratory work.
CS 125: Introduction to Web Design
This course offers fundamental concepts of web design, including learning the basic web design using HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets). Additionally, students would learn to use drag and drop website builder to rapidly develop their websites without any previous experience.
CS 160: Introduction to Computer Science
CS 170: Introduction to Data Structures
CS 250: Programming Practicum
CS 260: Data Structures and Algorithms
Algorithms and data structures for sorting, searching, trees, and graph algorithms. Algorithms and data structures associated with file processing, such as hashing, indexing, and B-trees, along with a continued examination of algorithm analysis.
CS 270: Software Development
CS 280: Computer Organization and Architecture
CS 350: Concepts of Programming Languages
History of programming languages. Organizational issues: data and control structures; run-time behavior of programs. Lexical and syntactic specification and analysis. Examination of procedural, obj ect-oriented, functional, and logic programming languages.
CS 360: Theory of Computation
CS 380: Operating Systems
CS 410: Computer Networking
CS 420: Artificial Intelligence and Expert Systems
CS 440: Computer Graphics Programming
CS 460: Theory of Database Systems
CS 461: Independent Study in Computer Science
Course of study to be arranged with a computer science faculty member with the approval of the department. A plan of study must be written before approval will be given.
CS 463: Internship in Computer Science
Work experience in the computer environment of a business, financial institution, government agency, or National Laboratory, such as Argonne, Oak Ridge, etc. This work experience must advance the student's knowledge of computing.
CS 465: Independent Research in Computer Science
Independent research to be arranged with a computer science faculty member with the approval of the department. A plan of study must be written before approval will be given.