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 and minor in Computer Science with an average of 'C' (2.0) or above in computer science and 'C' or above in MA 201. Computer Science majors must earn a 'C' or above in CS 160, CS 170, and CS 260.
Majors & Programs
-
Computer Science, Major -
Computer Science, Minor
Courses
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 Design
Introduction to the software development process: gathering requirements, designing, implementing, testing, debugging, and maintaining. The class particularly focuses on the design phase of the software development life cycle.
CS 275: Web Development
Have you ever wondered how you’d manage without websites – no online banking, instant information, or social media? Fortunately, web development brings these essential services to life. In this course, you’ll learn the fundamentals of web development, from HTML to CSS to JavaScript. You’ll discover how to create visually appealing and interactive sites. By the end, you’ll build responsive, user-friendly websites that captivate and engage users. This course is only offered online and is offered through a course-sharing consortium agreement.
CS 280: Computer Organization and Architecture
CS 320: Application Development I
This course is all about equipping you with the skills to build dynamic, database-driven web applications - the core of great app development. You will create powerful backend scripts using Java and JavaScript, build RESTful APIs, and develop miiddleware for user authentication and session management. By the end, you'll create apps that are not only functional but also beautiful, engaging, and solve real-world problems. This course is only offered online and is offered through a course-sharing consortium agreement.
CS 322: Application Development II
This course will have you building sleek, dynamic web apps using tools, such as React and Angular. Learn to create stunning front-end interfaces, seamlessly connect them with backend services, and ensure everything runs smoothly. You’ll dive into component-based architecture, manage state like a pro, and master the art of making your apps faster and responsive. By the end, you’ll be ready to create full-stack applications that stand out and wow users. This course is only offered online and is offered through a course-sharing consortium agreement.
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 385: Career Navigation & Exploration in Computer Science
This course will help you find a job in Software Engineering upon graduation. Not just any job; one that meets your personal and financial needs and makes you excited about the future. In this course, you’ll explore career paths in Software Engineering, potential salary outcomes, and different roles. Then, you’ll pick target jobs and opportunities that are the best fit for you and make a clear plan of action toward securing them. This course is only offered online and is offered through a course-sharing consortium agreement.
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.
CS 475: Software Development
Ever wonder what it takes to turn a great idea into a fully functional software product? This course covers everything from concept to implementation. Learn to use Git for efficient code management, ensure quality with comprehensive testing, and streamline delivery with CI/CD pipelines. Discover design patterns and apply SDLC methods. By the end, you’ll be equipped to tackle any software project with confidence and expertise. This course is only offered online and is offered through a course-sharing consortium agreement.