CS - Computer Science

CS110 Introduction to Programming

This course is an introduction to using computer programs as a way of modeling, analyzing and enhancing the world. The Python language is both powerful and commonly used in business, science and many other applications of computing. An integrated laboratory provides experience in programming and algorithmic problem-solving. Topics include computing and object oriented design methodology, Python fundamentals, modifying objects, control constructs, function usage basics and libraries, programmer defined functions, parameter passing, arrays, the class construct and object-oriented design, event-based programming, and implementing abstract data types.

CS111 Introduction to Computer Programming

This course is an introduction to using computer programs as a way of modeling, analyzing and enhancing the world. The Python language is both powerful and commonly used in business, science and many other applications of computing. An integrated laboratory provides experience in programming and algorithmic problem-solving. Topics include program design methodology, Python fundamentals, modifying objects, control constructs, basics of function and library usage, programmer defined functions, parameter passing, lists, and event-based programming.

CS112 Object-Oriented Program Design

Object-oriented programming is a powerful programming paradigm that organizes its structure around virtual objects that have well-defined attributes and behavior. This course explores object-oriented programming in the Java programming language. An integrated laboratory provides experience in programming and algorithmic problem-solving. Topics include object-oriented program design, Java classes, abstract classes, interfaces, encapsulation, abstraction, inheritance, and polymorphism.

CS120 Data Structures and Program Design

This course is an introduction to program design, fundamental data structures, and analysis of algorithms. The course addresses data structures as tools that you can use to solve problems that arise in modeling a situation and then executing (simulating) the resultant model. As in CS 110, the course makes use of graphics, sound, pictures, and other media. Topics include contiguous and linked lists (stacks, queues, and general lists), search and sort techniques, binary trees, tables, hashing, recursion, and graphs.

CS130 Digital Video Production

Smartphones have given rise to Citizen Video. In this course, students can start producing their citizen videos for distribution on YouTube and other social media platforms. The course will introduce students to the techniques and aesthetics of digital video production. Students will learn about the creative process of creating audiovisual texts: camerawork, lighting, art direction, set design, costume design, sound design, editing, and how they all contribute to the visual language. Students will produce short movies using varying real-life scenarios and publish them to their YouTube account. Through a hands-on approach and critical analysis, students will learn and understand how messages are successfully and unsuccessfully crafted, targeted, and delivered through digital audio/visual media.

CS189 Special Topic

Special Topics courses include ad-hoc courses on various selected topics that are not part of the regular curriculum, however they may still fulfill certain curricular requirements. Special topics courses are offered at the discretion of each department and will be published as part of the semester course schedule - view available sections for more information. Questions about special topics classes can be directed to the instructor or department chair.

CS202 Web Design and Development

An extensive introduction to website design with an in-depth look at HTML, CSS, structural layout, standards-based coding, and validation techniques. The class will also explore open-source technology, photo and graphic design, color theory, social networks, frameworks, JavaScript (and its various libraries), server-side scripting, and content management systems. Students will examine the inner workings of web hosting services and will understand how to interact with clients and contracts in addition to designing fully functioning, standards-based website at the end of the course. (Course fee required).

CS211 Data Structures and Algorithms

This course is an introduction to program design, fundamental data structures, and analysis of algorithms. The course addresses data structures as tools that you can use to solve problems that arise in modeling a situation and then executing (simulating) the resultant model. As in CS 111 and 112, the course makes much use of graphics, sound, pictures, and other media. Topics include contiguous and linked lists, stacks, queues, and general lists, search and sort techniques, binary trees, tables, hashing, recursion, and graphs.

CS213 Management Information Systems

The class familiarizes students with basic concepts in the use of computer applications as management information systems for businesses. It emphasizes database design and concepts with spreadsheets for analysis and reporting of information. Managing technological change, ethics and security are also covered. Hands on projects include using MS Office for presentation, spreadsheet and database applications.

CS213L Management Info Systems Lab

CS230 Software Engineering (WI)

This course addresses the development of software systems. Problem- solving concepts are integrated with a study of the software development life cycle, including project management, requirements analysis, system design, testing implementation, and maintenance issues. Students will create an object-oriented team project. Lectures and laboratory each week.

CS241 Networking Fundamentals

The class covers the OSI and TCP/IP models of communication and IP addressing. Emphasis is on local area network (LAN) designs and technologies like cabling, Ethernet and switching. Basic routing concepts are also covered. Labs involve building and configuring your own networks to generate and observe traffic and network behaviors.

CS251 Introduction to Linux

This course will teach students to install Linux (using Ubuntu Desktop or distribution of the student's choice) and then provide basic command line (Bash) scripting competency. Students will install Linux, preferably on their own computer, in a dual boot or virtual machine environment. The ability to run Linux and Windows or Mac OS on the same machine can provide students with new computer tools. Linux/Unix is used in gaming, research and web environments. Basic skills allows students to begin participating in those environments as well as preparing them for further learning in several Computer Science and Computer Information Systems courses. Basic familiarity with computer hardware and software and your own computer (with 20GB disk free) is recommended.

CS287 Student Topics in Computer Science

This course is intended for all CS and CIS minors and majors as well as other students with strong interests in technology as a way to explore new topics, implement new technologies, meet other students and develop meaningful relationships. Upper-class students lead the course. Web, coding techniques and social media technologies are likely topics. The course content will be largely student determined. The course is offered Pass/Fail only. The only prerequisite is an interest in exploring new technologies. There is no fee or required materials.

CS289 Special Topic

Special Topics courses include ad-hoc courses on various selected topics that are not part of the regular curriculum, however they may still fulfill certain curricular requirements. Special topics courses are offered at the discretion of each department and will be published as part of the semester course schedule - view available sections for more information. Questions about special topics classes can be directed to the instructor or department chair.

CS310 Database Design

Using Oracle, this course concentrates on representing, storing and retrieving data from external storage devices. Learn SQL and software development using Oracle's Application Express. Three one-hour lectures and one two-hour laboratory per week.

CS311 Database Project

As a continuation of CS 310, students will analyze, design, implement, test, and present a database project (using Oracle Apex). Lectures and laboratory each week.

CS322 Security Policy and ADS Security

Students will explore general network and server security issues through, in part, the implementation of Active Directory Services (ADS) in a Microsoft Server environment. Emphasis will be on security, backup, user administration, disk management, and network access. In addition to learning those skills students will be expected to maintain their server as a functional server throughout the course and to implement the security associated with protecting their server (and as an extension, organizations) from growing sophisticated physical and cyber attacks.

CS331 Internet Infrastructure

This the second in the 2 course sequence on data network transmission technologies. The class covers advanced routing protocols such as OSPF, IS-IS, MPLS and BGP as well as supernetting, IPv6 addressing and audio and video transmission and issues like QOS (quality of service) and multicasting. The class also focuses on ISP and wide area technologies (WAN) such as T carrier, Sonet, frame-relay, ATM and ISDN. Labs emphasize building and debugging complex networks and track Cisco CCNP certification content.

Prerequisite: CS 330, Cisco CCNA certification or consent of the instructor.

Spring semester, odd-numbered years.

CS389 Special Topic

Special Topics courses include ad-hoc courses on various selected topics that are not part of the regular curriculum, however they may still fulfill certain curricular requirements. Special topics courses are offered at the discretion of each department and will be published as part of the semester course schedule - view available sections for more information. Questions about special topics classes can be directed to the instructor or department chair.

CS410 Operating Systems

This class covers the design and theory of modern computer operating systems. It explores topics such as process management, CPU scheduling, memory management and protection, device management and diversified operating systems. Lectures and Lab each week.

CS421 Cyber Security

This course combines knowledge and skills from the computer network classes with the Operating Systems class (CS410) to build, compromise and secure computer network and server systems. Labs include using Cisco, Microsoft, and Linux systems (switches, routers, workstations and servers) as well as implementing network firewalls. The course also covers security concepts, policies, and risk management as well as hacking techniques and defenses.

CS425 Internship

This course is an internship consisting of supervised work experience with a business or nonprofit agency in the computer science field. Ideally the internship should relate the type of work (network, web, programming, etc.) that the student is most interested in. Forms and procedures can be obtained through the Carroll internship coordinator.

CS430 Senior Project: Your Project

This course will present students with a substantial experience in software engineering. Students will investigate, design, implement, and present a significant software project, working both as individuals and in project teams. Projects will also teach the students about project management concerns.

CS485 Independent Study

Independent study is open to junior and senior students only. At the time of application, a student must have earned a 3.0 cumulative grade point average. A student may register for no more than three (3) semester hours of independent study in any one term. In all cases, registration for independent study must be approved by the appropriate department chairperson and the Vice President for Academic Affairs.

CS489 Special Topic

Special Topics courses include ad-hoc courses on various selected topics that are not part of the regular curriculum, however they may still fulfill certain curricular requirements. Special topics courses are offered at the discretion of each department and will be published as part of the semester course schedule - view available sections for more information. Questions about special topics classes can be directed to the instructor or department chair.

CS495 Computer Science Seminar

Various topics not covered in other computer science courses are researched and discussed. Students analyze selected readings on ethics and the integration of technology in business and the world in general as well as work on related projects and/or papers. Students participate in defining and presenting their own content in the class.

CS499 Senior Thesis

The senior thesis is designed to encourage creative thinking and to stimulate individual research. A student may undertake a thesis in an area in which s/he has the necessary background. Ordinarily a thesis topic is chosen in the student's major or minor. It is also possible to choose an interdisciplinary topic. Interested students should decide upon a thesis topic as early as possible in the junior year so that adequate attention may be given to the project. In order to be eligible to apply to write a thesis, a student must have achieved a cumulative grade point average of at least 3.25 based upon all courses attempted at Carroll College. The thesis committee consists of a director and two readers. The thesis director is a full-time Carroll College faculty member from the student's major discipline or approved by the department chair of the student's major. At least one reader must be from outside the student's major. The thesis director and the appropriate department chair must approve all readers. The thesis committee should assist and mentor the student during the entire project. For any projects involving human participants, each student and his or her director must follow the guidelines published by the Institutional Review Board (IRB). Students must submit a copy of their IRB approval letter with their thesis application. As part of the IRB approval process, each student and his or her director must also complete training by the National Cancer Institute Protection of Human Participants. The thesis is typically to be completed for three (3) credits in the discipline that best matches the content of the thesis. Departments with a designated thesis research/writing course may award credits differently with approval of the Curriculum Committee. If the thesis credits exceed the full-time tuition credit limit for students, the charge for additional credits will be waived. Applications and further information are available in the Registrar's Office.