Computer Science

Computer Science is a new department at Fort Hays State University that offers a bachelor of science degree in computer science.

Computer Science is a multidisciplinary area of study that involves software, digital storage and retrieval, networks, human computer interaction, information security, digital design and electronic media. Graduates from both the program are prepared to work with complex information and computing systems and have the skills and knowledge necessary to advance steadily in their careers. Having a degree in Computer Science will make you in high demand at various federal agencies and private companies. For example, you may choose to apply to work with one of the federal intelligence agencies under the Office of the Director of National Intelligence (ODNI), one of the federal National Laboratories in cutting edge research, one of the thousands of universities or at one of the Fortune 500 companies such as Google, Facebook, Boeing, Cisco, Intel, etc. Also other regional (Kansas) companies such as Cargill, Cerner and Koch Industries. The choice is yours, and we are here to help you!

Department of Computer Science 

Department of Computer Science Faculty Listing

Academic Programs

Computer Science - BS in CSCI

Courses

Survey of selected topics in Computer Science such as the history of computing, number systems, data representation, combinatorial circuits, computer architecture and organization, algorithms, programming paradigms and languages, artificial intelligence, computer graphics, the roles of operating systems and networks, social, legal, and ethical issues in computing.

Read More

An introduction to computer programming in a high-level programming language. Topics include data types, sequential and indexed collections, the design, definition, and application of functions, conditional expressions, iteration and recursion.

Read More

This course is designed to receive non-equivalent elective transfer credit.

Read More

Continued introduction to computer programming in a high-level programming language. Interactive programming, data file access, error detection and handling, elementary data structures, sorting, searching, higher-order functions.

Read More

Principles of object-oriented design and programming such as classes, objects, composition, inheritance, and polymorphism. Development of applications utilizing languages supporting object -orientation.

Read More

Logical and mathematical foundations of computer science, including topics such as logic, proof, algorithms, recursive processes, combinatorial analysis, algorithm complexity, graphs, and theory of computation.

Read More

Data structures such as linked lists, stacks, queues, trees, maps, and graphs and their accompanying alorithms and their analysis.

Read More

Assembly language programming and processor architecture. Includes low-level programming techniques, memory and registers, the run-time stack.

Read More

History and functions of operating systems and associated structures. Topics include management of a processor, processes, memory and auxillary storage.

Read More

This course is designed to receive non-equivalent elective transfer credit.

Read More

A comparative survey of programming language paradigms, including the properties, applications, syntax, and semantics of selective imperative, functional, object-oriented, and logic programming languages.

Read More

Raster graphics algorithms, transformations, orthographic and perspective projection, hidden surface elimination, surface shading, the graphics pipeline, color models. Application development utilizing a graphics API.

Read More

Software engineering concepts, terminology, and the disciplined development of software systems, including topics such as requirements analysis, design methodologies, testing strategies, management, and quality assurance. In a semesterlong project, students develop, test and document a software system.

Read More

This course will take a deep dive into several advanced concepts of Python and explore larger-scale application development using the language. Students will learn system programming, classes and objects, Persistence and Databases, Advanced Data Handling, GUI programming, and covering some of the fundamental topics in more detail and adding new ones. At the end of this course, students will have the necessary tools to start digging into other areas of specialization. The student is expected to have a sound background in Python programming.

Read More

This course will take a deep dive into several advanced concepts of Python and explore larger-scale application development using the language. Students will learn system programming, classes and objects, Persistence and Databases, Advanced Data Handling, GUI programming, and covering some of the fundamental topics in more detail and adding new ones. At the end of this course, students will have the necessary tools to start digging into other areas of specialization. The student is expected to have a sound background in Python programming.

Read More

This course presents the fundamentals of scientific research in the area of Computer Science. It covers a collection of basic concepts and terminologies in research methods with a goal of producing well-written manuscripts for publication in peer-reviewed journals. Special emphasis is placed on problems typically encountered by young researchers as well as possible solutions to those problems.

Read More

This course presents the fundamentals of scientific research in the area of Computer Science. It covers a collection of basic concepts and terminologies in research methods with a goal of producing well-written manuscripts for publication in peer-reviewed journals. Special emphasis is placed on problems typically encountered by young researchers as well as possible solutions to those problems.

Read More

Principles of modern operating systems, including embedded operating system, virtual machine, cloud and IoT operating systems, networking protocols and distributed operating systems.

Read More

See INT 650 Topics in Information Networking and Telecommunications for course description.

Read More

See INT 650 Topics in Information Networking and Telecommunications for course description.

Read More

This course covers advanced topics in data structures for working with structured data. The students will develop, implement, and analyze various data structure algorithms to solve real world problems. The course covers the following topics: disjoint sets, self-balanced trees, segment trees, heaps, hash tables, and tries.

Read More

This course covers advanced aspects of database management including normalization, query optimization, distributed databases, data warehousing, and big data. Students learn how to use object-oriented technologies to design relational databases and how to design relational databases to support object-oriented applications. There is extensive coverage and hands on work with SQL, and database instance tuning. The additional topics covered in this course will help you become more proficient in writing queries and will expand your knowledge base so that you have a better understanding of the field. The goal is to provide students with an advanced understanding of database design, implementation, and management concepts and techniques. Students complete a term project exploring an advanced database technology of their choice.

Read More

This course considers the basic knowledge of cryptography, both traditional and modern. This knowledge is the basis for future studies on network security.

Read More

This course considers the basic knowledge of cryptography, both traditional and modern. This knowledge is the basis for future studies on network security.

Read More

See MIS 650 Networks and Data Communications for course description.

Read More

See MIS 650 Networks and Data Communications for course description.

Read More

This course gives a comprehensive overview of data mining fundamental concepts, algorithms, and its applications. It covers important sections on classification, association analysis, and cluster analysis. Students will learn analyzing of variant data sets that integrates results from disciplines such as statistics, predictive models, data bases, pattern recognition, and text mining. A major productive analytics project on a real data set is required.

Read More

Miscellaneous problems from or an investigation of some phase of undergraduate computer science possibly not treated in a regular course.

Read More

Miscellaneous problems from or an investigation of some phase of undergraduate computer science possibly not treated in a regular course.

Read More

Students prepare a paper on a software engineering or computer science topic and give an oral presentation to the seminar group.

Read More

Students prepare a paper on a software engineering or computer science topic and give an oral presentation to the seminar group.

Read More

The student will perform meaningful professional work.

Read More

The student will perform meaningful professional work.

Read More

Theory, design, protocols, security, and algorithms of computer networking.

Read More

Design and programming with different programming languages in networking application layer.

Read More

<span>Theory, design, protocols, security, and algorithms of computer networking. </span>

Read More

This course covers advanced aspects of database management including normalization, query optimization, distributed databases, data warehousing, and big data. Students learn how to use object-oriented technologies to design relational databases and how to design relational databases to support object-oriented applications. There is extensive coverage and hands on work with SQL, and database instance tuning. The additional topics covered in this course will help you become more proficient in writing queries and will expand your knowledge base so that you have a better understanding of the field. The goal is to provide students with an advanced understanding of database design, implementation, and management concepts and techniques. Students complete a term project exploring an advanced database technology of their choice.

Read More

This is a graduate course that discusses advanced topics in distributed operating systems. The covered topics are Synchronization, Consistency and Replication, Distributed Shared Memory, Fault Tolerance and Security, and Distributed File Systems.This course builds upon the topics covered in a typical undergraduate operating systems course, such as Process Synchronization, Interprocess Communication, and File System Organization. After a brief review, these topics are studied in the context of distributed operating systems.<b>Prerequisites</b>: CSCI 331 or equivalent.

Read More

A required course for Project Option of Computer Science Master Program. Student writes, demonstrates, and defends a software project that solves real world problem.

Read More

A required course for Thesis Option of the Computer Science Master Program. Write and defend a research thesis on a subject in modern computer science or an interdisciplinary field that is related to computer science.PR: CSCI 601, CSCI 631, CSCI 653, CSCI 665

Read More

Design and programming with different programming languages in networking application layer.

Read More

Design and programming with different programming languages in networking application layer.

Read More

This course gives a comprehensive overview of data mining fundamental concepts, algorithms, and its applications. It covers important sections on classification, association analysis, and cluster analysis. Students will learn analyzing of variant data sets that integrates results from disciplines such as statistics, predictive models, data bases, pattern recognition, and text mining. A major productive analytics project on a real data set is required.

Read More

Last updated: 02/09/2024