COSC 1351 introduces programming through Python, covering fundamental algorithms, data structures, and object-oriented programming. Students will learn problem-solving techniques, basic computer architecture, and practical applications of programming concepts through interactive exercises and projects. This course emphasizes hands-on experience, preparing students to apply programming skills in real-world scenarios.
COSC 1352 enhances programming skills with a focus on object-oriented design, building graphical user interface applications, and exposure to a wider variety of data structures such as stacks, queues, and dictionaries. The course includes several projects using Python programming language that blend theory with practice, expanding on topics such as recursion, software engineering methodologies, and basic computer architecture. Through hands-on learning and a final semester long open-ended project, students will gain a thorough understanding of modern programming challenges and solutions.
Students will learn how to perform theoretical complexity analysis of algorithms to be able to evaluate and compare the efficiency of different algorithms solutions. The course covers essential search and sort algorithms, providing practical skills in optimizing and implementing these techniques. Students will also explore the fundamentals of object-oriented programming using Java, learning how to design and manage data structures effectively. Key topics include arrays, linked lists, stacks, queues, dictionaries, and trees each critical for organizing and manipulating data efficiently. Through several coding assignments and a course hands-on project, students will build a strong foundation in both the theoretical and practical aspects of data structures. Ethical implications of algorithms will also be discussed using some case studies.
An introduction to operating systems concepts. Topics include process management, storage management, device management, performance, security, and case studies of modern operating systems.
COSC 2355 is an introduction to database management systems, focusing on relational models, SQL, and database design with the Entity-Relationship Model. Students will also learn about relational algebra and the role of indexing in optimizing database performance. Through theory and practical projects, the course prepares students to develop and manage databases for real-world applications.
This course emphasizes the study of high-performance specialized data structures (self-balancing trees, dynamic graphs, binary heaps) and their implementations using the Java language. Students in this course are also introduced to the basic object-oriented concepts of abstractions and generics to develop abstract advanced searching and sorting algorithms as well as abstract data structures. This course also includes a laboratory component that reinforces fundamental programming concepts.
Architecture and organization of computer systems. Topics include the processor, control unit and microprogramming, computer arithmetic, memory hierarchy and memory management, input/output, instruction sets.
An overview of computer networks. Topics include network topologies, layers, local area networks, and performance measurement and analysis.
An overview of formal languages, the abstract models of computing capable of recognizing those languages, and the grammars used to generate them.
In this project-based course, students will create multi-user Web applications involving application development for front-end and back-end programming in a client-server communications technology. Topics covered may include advanced implementations of both markup as well as scripting languages, data management, and effective uses of database management systems for back-end service side Web development concepts.
overview of cyber security; provides students with practical cyber security experience based on theoretical foundations. Topics include: computer network defense, computer network attack, wireless security.
This course will enable students to understand how software coding defects lead to software vulnerabilities, develop secure software, and manage teams that develop secure software. This course provides a detailed explanation of common programming errors in different programming languages and describes how these errors can lead to code that is vulnerable to exploitation. The course covers secure software development tools and processes while focusing on low-level technical security issues.
Design, construction, and maintenance of large software systems. Project planning, requirements analysis, software design methodologies, software implementation and testing, maintenance. The course has a semester-long hands-on teams project that introduces students to Agile software development practices using the latest industry tools and cloud services.
A comprehensive course designed for students seeking a deep understanding of the principles, applications, and implications of AI technology. The course will cover the foundations of machine learning (supervised and unsupervised learning), regression and classification algorithms, algorithms related to search, vision and planning, neural networks and deep learning architectures, natural language processing, and ethical considerations in AI development. Through a combination of theoretical concepts and practical exercises, students will develop the skills necessary to design and implement AI solutions for real-world problems using a variety of AI tools and frameworks.
This course offers an introduction to the design and implementation of modern interpreters and compilers. Topics include lexical scanning, parsing, abstract syntax trees, type checking, intermediate languages, optimization, code generation and translation, runtimes, and language construction tools. Students will apply topics from theory, algorithms, data structures, and computer architecture to explore these topics in depth and examine how approaches vary across different programming languages and paradigms. As part of the course, students build a working compiler for a high-level language.
Introduction to data analytics and key tools and concepts from the functional, technical, and implementation perspectives of using data analytics to solve real world challenges.
This course provides an advanced exploration of database management systems (DBMS), focusing on the design, implementation, and management of databases in various organizational contexts. Students will delve into the theoretical and practical aspects of database systems, including data modeling, relational database design, normalization, and SQL (Structured Query Language) for data manipulation and querying. Key topics include database architecture, transaction management, concurrency control, indexing, and optimization techniques. The course also covers emerging trends such as NoSQL databases, big data management, and cloud-based database solutions. By the end of this course, students will have the skills and knowledge to design, implement, and manage robust database systems that support the complex data needs of modern organizations, enabling them to make informed decisions and drive business success.
This course provides an in-depth exploration of data analytics and business intelligence (BI) techniques, focusing on how organizations can leverage data to drive strategic decision-making and gain a competitive advantage. Students will learn to collect, process, analyze, and visualize large volumes of data, transforming raw information into actionable insights. Key topics include data warehousing, data mining, predictive analytics, and the use of advanced tools and technologies such as SQL, Python, R, and various BI platforms. The course also covers data visualization techniques, and the application of machine learning algorithms to enhance predictive accuracy. The course emphasizes ethical considerations and best practices for managing and analyzing data, ensuring that students are equipped to handle data responsibly and effectively. By the end of the course, students will have the skills and knowledge to design and implement robust data analytics and business intelligence solutions that support data-driven decision-making and foster organizational success.
This course offers a comprehensive exploration of cloud computing technologies, focusing on the design, deployment, and management of cloud-based systems within modern enterprises. Students will gain a deep understanding of cloud computing models, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), and how these models can be leveraged to enhance scalability, flexibility, and cost-efficiency in organizations. Key topics include cloud architecture, virtualization, cloud storage, and networking, as well as the implementation of security and compliance measures in cloud environments. The course also covers the integration of cloud services with existing IT infrastructure, cloud migration strategies, and the management of multi-cloud and hybrid cloud environments. The course emphasizes best practices for optimizing cloud performance, ensuring data security, and managing cloud resources effectively. By the end of this course, students will be equipped with the skills and knowledge to design, deploy, and manage cloud computing solutions that drive innovation and operational efficiency in a wide range of organizational contexts.
This course provides an in-depth exploration of Human-Computer Interaction (HCI) principles, focusing on the design, evaluation, and implementation of user-centered interfaces and systems. Students will examine the cognitive, social, and ergonomic factors that influence how people interact with technology, learning how to create intuitive, efficient, and accessible user experiences across various platforms and devices. Key topics include user interface design, usability testing, user experience (UX) research methods, interaction design principles, and accessibility standards. Students will engage in hands-on projects and case studies, applying HCI principles to real-world scenarios to design and evaluate interfaces that meet user needs and expectations. By the end of this course, students will be equipped with the skills and knowledge to design and evaluate user-centered systems that enhance usability, accessibility, and overall user satisfaction in diverse technological environments.
This course offers a comprehensive exploration of mobile and web application development, focusing on the principles, tools, and frameworks necessary to design, build, and deploy dynamic, user-friendly applications across multiple platforms. Students will gain practical experience in creating responsive web applications and native or hybrid mobile apps that meet modern user expectations and business needs. Key topics include front-end and back-end development, user interface (UI) and user experience (UX) design, and cross-platform development frameworks such as React Native, Flutter, and Angular. The course covers essential programming languages and technologies, including HTML5, CSS3, JavaScript, and popular mobile development languages like Swift and Kotlin. By the end of this course, students will be equipped with the skills and knowledge to create professional-grade mobile and web applications that are secure, scalable, and responsive to user needs.
The Capstone Project or Thesis course at Houston Christian University (HCU) serves as the culminating experience of the Master of Science in Computer and Information Science program, allowing students to apply the knowledge and skills they have acquired throughout the program to a comprehensive research project or practical application. This course is designed to demonstrate the student’s ability to conduct independent research or to develop a complex, real-world solution in the field of computer and information science. Students opting for the Capstone Project will work on a significant, hands-on project that addresses a specific challenge or need within an organization or industry. This project involves the design, development, and implementation of a solution, which may include software development, system integration, data analysis, or any other relevant application. The Capstone Project emphasizes practical problem-solving, collaboration, and the application of advanced technical skills. Alternatively, students choosing the Thesis route will engage in a rigorous research study, contributing to the academic body of knowledge in a specialized area of computer and information science. The thesis requires students to formulate research questions, conduct a literature review, apply appropriate research methodologies, and present their findings in a well-structured, scholarly document. This option is particularly suited for students interested in pursuing doctoral studies or careers in research and academia. The course culminates in the submission of the final Capstone Project report or Thesis, which will be evaluated based on its originality, technical quality, and contribution to the field. By the end of this course, students will have demonstrated their ability to independently research, analyze, and solve complex problems, showcasing their readiness to contribute to the field of computer and information science as skilled professionals or researchers.