Computer Science (BS)

Program Description

Students in this major are focused on making the computer system perform at its highest level. They will become proficient in programming and in understanding the best uses of the machine. These individuals will become the IT professionals who keep the infrastructure running. They will be qualified to create new systems, as well as having the skills to maintain and update older systems.

Graduates from this program will be versatile professionals who can solve problems that would jeopardize an organization; they will form the backbone of the internal IT staff.

Learning Outcomes

  • Students will demonstrate critical thinking skills in the field of computer science.
  • Students will demonstrate the ability to solve problems related to the program content.
  • Students will demonstrate an understanding of the concepts and principles of software systems.
  • Students will analyze, design and document a system component using appropriate computer science techniques and models.
  • Students will make a formal presentation of a software system project including the demonstration of a working application.
  • Students will demonstrate an in-depth knowledge of advanced software development techniques.

Degree Requirements

A minimum of 128 credit hours consisting of the following:

  • 36 required credit hours
  • Applicable university global citizenship or general education program hours
  • Electives

At least 18 of the required 36 computer science credit hours must be taken at Webster University. All upper-level courses must be taken at Webster University.

Required Courses

  • COSC 1550 Computer Programming I (3 hours)
  • COSC 1560 Computer Programming II (3 hours)
  • COSC 1570 Math for Computer Science (3 hours)
  • COSC 2610 Operating Systems (3 hours)
  • COSC 2670 Telecommunications (3 hours)
  • COSC 2810 Systems Analysis and Design (3 hours)
  • COSC 3050 Data Structures I (3 hours)
  • COSC 3100 Data Structures II (3 hours)

Students will choose two of the following courses:

  • Computer science courses (COSC) numbered 3000 or above, (6 hours)
    excluding:  COSC 3900 Practicum (3 hours)
    and COSC 3910 Project (3 hours)

Students are required to take one pair of the following courses:

  • COSC 4110 Database Concepts (3 hours)
  • COSC 4120 Database Applications (3 hours)

    or

  • COSC 4250 Object-Oriented Analysis and Design (3 hours)
  • COSC 4260 Object-Oriented Programming (3-6 hours)

Course Descriptions

COSC 1520 Computer Programming Concepts (3)

Students will learn the basic concepts of computer programming. At the end of this course, students will be able to plan, code, and run simple computer programs. This course is intended for non-computer science (COSC) majors.

COSC 1540 Emerging Technologies(3)

This course introduces general concepts and vocabulary of information systems. It also addresses the issues and impact of powerful information tools.

COSC 1550 Computer Programming I (3)

Introduces students to the C++ language in order to teach programming as a systematic discipline and as a problem-solving tool. Acquaints students with fundamental concepts of computers, information processing, algorithms, and programs. May be repeated once for credit. Only offered in a 16-week format.

COSC 1560 Computer Programming II (3)

This course uses the C++ language to introduce students to programming concepts such as abstract data types, use of classes and objects, pointers, and advanced file operations. 

COSC 1570 Mathematics for Computer Science (3)

Topics covered include number systems, computer arithmetic, binary, octal, hexadecimal, floating point operations, sets, and Boolean algebra.

COSC 1580 Logic for Computer Science (3)

Covers all fundamental topics in deductive logic and is a thorough introduction to propositional and predicate logic.

COSC 2010 Computer Topics (3)

Introduces a variety of computer topics under different subtitles. May be repeated for credit if content differs.

COSC 2030 Visual BASIC (3)

Provides an introduction to communicating with computer users through the use of a GUI-graphical user interface. The concept of object-oriented programming, event-driven programming, and designing effective GUIs will be covered.

COSC 2040 Advanced Visual BASIC (3)

This course continues program development in the Visual BASIC programming language with emphasis on communication with other Windows applications. Included are topics in data access and file handling, as well as the use of object linking and embedding (OLE) and dynamic data exchange (DDE). 

COSC 2050 Java Programming (3)

This is a first course in Java programming, covering principles of programming and core Java features. A step-by-step approach first lays a sound foundation on programming elements, control statements, and methods; then introduces object-oriented programming; moves on to graphics programming; and concludes with advanced features that prepare students to develop more comprehensive programs. 

COSC 2060 Advanced Java (3)

This course expands on the beginning Java course with in-depth discussion of advanced topics, including Java applications and distributed systems. The course introduces students to technologies such as JDBC, servlets, JavaBeans, and Java XML. 

COSC 2070 Introduction to Mobile Technology (3)

This course studies the fundamentals of mobile technology. It focuses on emerging mobile technology, the potential of the mobile application market, and the technological and marketing challenges that make mobile applications difficult to commercialize. This course will also discuss the various tools available to build powerful mobile applications.

COSC 2110 Computer Languages (3)

Investigates different computer languages, offered under different subtitles. May be repeated for credit if content differs.

COSC 2610 Operating Systems (3)

An overview of the concepts and theories of operating systems. Examines the major components found in all operating systems including the memory, process manager, and device and file managers.

COSC 2660 Network Management (3)

Emphasizes local area networks in the study of their hardware and software components. The configuration, installation, and management of networks and appropriate applied software are studied. 

COSC 2670 Telecommunications (3)

In this course students examine the various technologies and applications of telecommunications. The course provides an analysis of the current and future trends in telecommunication technologies and services and includes an overview of the industry and the associated management and strategy issues.

COSC 2810 Systems Analysis and Design (3)

Covers the basic concepts involved in systems analysis, including effective communication, analysis tools, and phases of the systems development life cycle.

COSC  3050 Data Structures I (3)

Studies the design and implementation of the most common algorithms associated with the basic data types and with some elementary data structures using C++. The relationship of algorithm design to problem solving in general is studied. The course also covers algorithms to improve the robustness and user friendliness of programs. 

COSC 3100 Data Structures II (3)

This is a continuation of COSC 3050 Data Structures I. Students will program the data structures and algorithms using C++. 

COSC 3200 Advanced Programming Techniques (3)

Study of advanced programming techniques in C++ beyond those covered in COSC 3100 Data Structures II.

COSC 3340 Mobile Computing I (3)

This course will study the leading-edge mobile computing technologies for professional software developers. The course will be hands-on and project-based. The central focus of the course is to enable the understanding and critical evaluation of mobile applications. 

COSC 3350 Mobile Computing II (3)

This course will study the leading-edge mobile development technologies for professional software developers. The course will be hands-on and project-based. In addition to mobile development, this course will focus on more advanced mobile computing tech-niques and mobile application development schemes. The central focus of the course is to further enhance the knowledge and critical evaluation of mobile applications and the mobile development process.

COSC 3410 Computer Security (3)

Students in this course will study the techniques for protecting data within a computer and protecting data as it moves through a network. Data and system security and reliability will be considered in a distributed environment. Topics will include encryption, authentication and digital signatures, threats to the computer system, and system reliability.

COSC 3500 IT Project Management (3)

This course provides students a holistic and integrative view of project management.  The course covers concepts and skills that are used by IT professionals to propose, plan, secure resources, budget, and lead IT project teams to a successful completion of their projects.

COSC 3510 Computer Architecture (3)

This course will explore the concept of the modern computer based on layers of virtual machines. While computers may become quite complex, they may be more easily understood as virtual machines that perform a well-defined set of functions.

COSC 3610 Operating Systems Concepts (3)

This course examines the components that make up a modern operating system. The student will have an opportunity to explore some of the strategies used and the performance trade-offs for single user and multi-user operating systems. Topics will include: CPU scheduling, memory management, disk organization, disk access scheduling, input/output management, the user interface, and system security. 

COSC 3660 Network Concepts (3)

Explores the basic concepts of computer networks. Course examines and compares network topologies, protocols, and national and international standards. It examines the similarities and differences in local area networks and wide area networks. 

COSC 3750 Decision Support Systems Concepts (3)

This course covers the basic concepts in Decision Support Systems.  The course introduces data warehousing and data mining and explains their role in the decision making process. 

COSC 3810 Principles of Programming Languages (3)

This course is a study of the design, evaluation, and implementation of programming languages. It focuses on the principles of design and evaluation and their relationship to the syntax, semantics, and pragmatics of programming languages. 

COSC 3900 Practicum (1-12)

(Note: This course does not count toward a computer science major without an emphasis or toward a minor.)

COSC 3910 Project (1-8)

(Note: This course does not count toward a computer science major without an emphasis or toward a minor.)

COSC 4110 Database Concepts (3)

Students in this course will study database design using the relational model and the Entity-Relationship model. Students will study and use the SQL query language. Database design considerations will include data integrity, relational integrity, redundancy, and security. Students will develop a logical design for a database that will be implemented in COSC 4120.

COSC 4120 Database Applications (3)

Continuation of COSC 4110. Students develop the logical design from COSC 4110 into a complete computer application with documentation. Focuses on specific applications that are important in a variety of computer information systems. Applications are examined from the perspective of user needs and program design. Students study program design using a database management system. 

COSC 4250 Object-Oriented Analysis and Design (3)

Designed to teach the student the fundamentals of object-oriented software analysis and design. Presents the theoretical aspects of object-oriented software design but focuses on the practical issues surrounding object-oriented software analysis and design and the format of the design process as it exists in an industrial setting. The student gains experience in the design aspect of the systems development life cycle.

COSC 4260 Object-Oriented Programming (3)

Continuation of COSC 4250 using C++. 

COSC 4510 Mobile Development I (3)

This course aims to provide a greater depth of knowledge in mobile device computing. Topics include available tools, mobile development paradigms, device limitations, mobile app feasibility and economics, and future trends. 

COSC 4520 Mobile Development II (3)

This course studies mobile development from three perspectives: mobile technology, application development, and user interaction. The course first overviews various mobile applications, technologies and wireless communication. Next, students will learn about common paradigms in mobile development, such as computing in an environment with limited resources. Lastly, the course will study some current research in mobile development.

COSC 4810 Information Systems I (3)

Using systems analysis and design techniques, students look at the software and hardware requirements needed to create an information system.

COSC 4820 Information Systems II (3)

Continuation of Information Systems I, with emphasis on solving an organization’s information system problems. This course provides the opportunity to apply the theory in a substantial project.

COSC 4910 Senior Overview (3)

Prerequisites: COSC 1560 and Senior Standing and permission of the department.