Computer Science
Courses | Employment | Computer Science DepartmentComputer Science Major
The computer science major includes a core set of courses along with a variety of electives to ensure that each graduate will have a strong, well-rounded background. The curriculum is cutting edge, constantly changing to keep up to date with the latest technology. Classes cover both theory and applications of computer science and expose students to applications in a variety of fields. Computer science students may earn a Bachelor of Arts degree (two mathematics courses) or a Bachelor of Science degree (four mathematics courses).
Majors/Minors
Computers have become an essential element in our society. The Computer Science major at Dominican includes a core set of courses in software development, along with a wide range of electives. The curriculum is on the cutting edge, constantly changing to keep up with the latest technology. Classes cover both the theory and applications of computer science and expose students to applications in a variety of fields. Coupled with Dominican’s comprehensive liberal arts program, the computer science major provides students with the critical thinking skills required to succeed in a complex and ever-changing society.
Major Requirements
- A Bachelor of Science degree in computer science requires that a student successfully complete the following:
- Computer Science 155, 165, 244, 275, 299, 325, 380, 401, 431, 475, and 455 or 471
- Ten additional semester hours of computer
- science courses
- Mathematics 240
- English 336
- Communication Arts and Sciences 250 or 320
It is recommended that students planning on doing graduate work in computer science also take Mathematics 261 and 262.
Some computer science courses are not offered every year. It is strongly recommended that a student who plans to major in computer science consult with a faculty member of that department as early as possible in his or her college career.
Minor Requirements
- Students interested in a computer science minor must complete Computer Science 155 and five additional computer science courses at the 200 level or above (excluding Computer Science 299).
Courses
140. INTRODUCTION TO COMPUTER PROGRAMMING FOR NON-MAJORS (3)
This course is designed for the non-major and does not count towards the computer science major or minor. It covers the basics of computer programming, including structured programming constructs and object oriented programming. Students will develop Windows based applications.Prerequisite: Mathematics 120 or placement above Mathematics 120
155. COMPUTER PROGRAMMING (3)
An object early introduction to programming. The course emphasizes the fundamentals of object-oriented programming (classes, objects, methods, inheritance, polymorphism, libraries, implementation, encapsulation) and at the same time introduces other software engineering and programming concepts (conditional statements, iteration, input/output, arrays, types, collections).Prerequisite: Mathematics 120 or placement above Mathematics 120
165. COMPUTER PROGRAMMING II--DATA STRUCTURES (3)
Data structures such as stacks, queues, lists, and trees are introduced and implemented. Algorithms for their manipulation are studied. A comparison of sorting and searching techniques is included.Prerequisite: Computer Science 155
244. COMPUTER NETWORKS (3)
This course provides an introduction to the principles of computer networks and data communications with a focus on the Internet. Students will study network protocols, architectures and implementation issues by using the layered organization of the Internet in a top-down fashion. Students will use socket programming to implement Internet applications such as email servers, web servers, and FTP. Ethereal labs are included to give students hands-on experience.Prerequisite: Computer Science 155
275. WINDOWS-BASED APPLICATION DEVELOPMENT (4)
The main objective of this course is to teach the student the concepts of Windows-based application development. Besides creating standard Windows-based applications in VB.NET, students will also learn about the .NET Framework, create front ends to databases, develop animation and games, and build their own controls.Prerequisite: Computer Science 165 or 155 and consent of instructor
299. SERVICE LEARNING (1)
Students will perform computer-related volunteer work for one semester, under the supervision of an instructor. Students will work for three hours each week. This course can be taken only on a satisfactory/fail basis.Prerequisites: Computer Information Systems 120 and Computer Science 165
325. DATABASE ORGANIZATION AND DESIGN (3)
The study of relational database systems. Topics include SQL, the relational model, normalization, functional dependency diagrams, optimization, entity relationship diagrams, database design, recovery, reporting, transaction processing, ethics and security. The course also covers DBMS packages and the use of Visual Basic.Net as a front-end to database systems.Prerequisite: Computer Information Systems 120 and Computer Science 275
330. INFORMATION TECHNOLOGY AND ITS MANAGEMENT (3)
This course covers issues faced by IT departments and how they are handled. It includes the trouble-shooting and maintenance of hardware and software, IT infrastructure, storage, security, servers, and other related topics. The course also covers topics related to managing IT including budgeting, disaster recovery, planning, project management, licensing, upgrade strategies, and working with users.Prerequisite: Computer Science 244
335. SYSTEMS ANALYSIS AND DESIGN (3)
This course looks at the information systems development process, from scope definition through implementation, with focus on methods for capturing system requirements, modeling requirements, and performing systems design. Different methodologies for systems development will be discussed. Major topics include use case development, data modeling, process modeling, and object-oriented analysis and design. Purpose and usage of entity relationship diagrams, data flow diagrams and several UML diagrams willbe covered.
Prerequisite: Computer Science 325
361. COMPUTER ARCHITECTURE (3)
An introduction to the functional elements and structures of digital computers. Topics include CPU design and organization (including RISC and multiprocessors), registers, buses, I/O devices, hardware interrupts and device interfacing, pipelining, memory structures and organizations.Prerequisites: Computer Science 244 and
Mathematics 240
371. COMPUTER GRAPHICS (3)
Computer animation, representation of two-dimensional and three-dimensional objects; clipping and windowing; transformations of objects; line-drawing algorithms; curves; colors; creation of drawing packages; fractals; interactive graphics; graphics libraries; analytical geometry.Prerequisites: Computer Science 165 or 275 and Mathematics 170 or higher
380. WEB DEVELOPMENT (3)
Students will design and develop web sites. A study of Web clients and servers, browsers, scripting, multimedia applications, some database applications and an introduction to Web commerce applications. Tools considered will include JavaScript, XHTML/DHTM, XML, CSS, FLASH, ASP. NET and other current Web-enabling technologies.Prerequisite: Computer Science 165
401. ADVANCED DATA STRUCTURES AND ALGORITHM ANALYSIS (3)
This course focuses on the design and analysis of efficient algorithms. Major topics include advanced data structures; tree balancing algorithms; graph theory; dynamic programming; additional techniques for sorting and searching, including hash coding techniques; automata theory; NP-completeness and program verification.Prerequisites: Computer Science 165 and
Mathematics 240
415. ADVANCED DATABASE DEVELOPMENT (3)
This course explores advanced topics in client server and database development. It addresses the implementation of multi-user, multi-tiered client server systems. It covers the programming and administration of database systems and includes views, stored procedures, triggers, indexes, constraints, security, roles, logs, maintenance, transaction processing, XML, reporting and other relevant topics. Students will be exposed to several database packages and will do considerable database programming.Prerequisite: Computer Science 325
420. SERVER SIDE WEB DEVELOPMENT (3)
Design and development of web applications using server side technologies. Programming using server-side technologies (for example, PHP, ASP.NET. JAVA server pages, JAVA servlets) will be the main focus.The role and use of web servers and database servers will be central to the course. Multi-tier applications will be developed. Content management systems will also be introduced.
Prerequisite: Computer Science 325 and 380
425. ARTIFICIAL INTELLIGENCE (3)
This course introduces the student to the basic concepts and techniques of artificial intelligence (AI). Topics include intelligent agents, knowledge representation, knowledge engineering, natural language, vision systems, robotics and machine learning. Students will also learn to write AI programs in AI languages.Prerequisite: Computer Science 165
431. OPERATING SYSTEMS (3)
Introduction to computer operating systems, their role, organization and control. Topics discussed include resource allocation and management, scheduling algorithms, process management, memory management, process synchronization mechanisms and techniques employed in multiprogramming and multiprocessing environments. A special emphasis is placed on contemporary operating systems.Prerequisites: Computer Science 165 and
Mathematics 240
434. PRINCIPLES OF UNIX (3)
This course will introduce the students to UNIX and systems programming. Students will use UNIX commands, shell scripts, PERL and C. Students will use Linux to solidify their understanding of operating systems concepts.Prerequisite: Computer Science 431
436. NETWORK SECURITY (3)
This course involves an intense examination of network security defense techniques and countermeasures. The course covers the theory and practice of network security. It surveys cryptographic tools used to provide security. It reviews how these tools are utilized in network protocols and applications. Topics include network defense techniques such as designing and configuring firewalls, intrusion detection systems, virtual private networks, and security related RFCs.Prerequisite: Computer Science 244
445. LAN ADMINISTRATION (3)
This course is a thorough study of local area networks (LANs). The course covers the physical components that are essential to connect computers to a network, including the Internet. Students will learn how to design, configure, install, maintain, troubleshoot and manage/administer LANs. Windows Server will be used. This is a hands-on course. Topics covered include how to deal with files, event logs, DNS. DHCP, security, the registry and backup/restore.Prerequisite: Computer Science 244
450. INDEPENDENT STUDY (1-3)
Independent reading and/or research on special topics in computer science.Prerequisite: Consent of a faculty supervisor
455. INTERNSHIP (1-8)
Experience as a computer professional under the joint supervision of a faculty member and an assigned business manager.Prerequisites: Junior or senior standing in computer science and the consent of department
461. ADVANCED TOPICS IN COMPUTER SCIENCE (1-3)
Topics of current interest. This course may be repeated for credit.Prerequisite: Consent of instructor
471. SENIOR PROJECT (3)
A comprehensive, independent project in the senior year under the guidance of a computer science faculty member. It includes design, development, coding, testing and documentation of a software application.Prerequisites: Senior standing and consent of department
475. COMPUTER SCIENCE CAPSTONE SEMINAR (3)
Student-led discussion, research and presentations on various aspects of computer science.Prerequisite: Senior standing
INDEPENDENT RESEARCH OR CREATIVE INVESTIGATION (1-3)
Introductory, Intermediate, Advanced, Senior Thesis Independent Research or Creative Investigation is a course in which students collaborate with facultymentors on an ongoing faculty research project or conduct an independent project under the guidance of a faculty member. This directed undergraduate research or creative investigation culminates in a conference presentation, journal article or other creative/scholarly project.
Prerequisite: Consent of instructor
Employment
Combine the strengths of a liberal arts education with the technical understanding of information processes, systems and structures. Work with designing programs, databases, and the machines – so many computers on campus for you to use.
Employment:
- Programmer
- Computer engineer
- Computer systems manager
- Database manager
- Software developer
- Technical sales representative
- Positions in management information systems
- Teaching
- Research
- Corporations
- Government
- Education
- Not-for-Profit
- Health-care
- Self-employment
- Cultural institutions

