2019-2020 Academic Catalog

CS - Computer Science

CS 110 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.

CS 120 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.

CS 130 Viral Video

Smartphones have given rise to "Citizen Video." In this course students can start producing their citizen videos for distribution on You Tube and elsewhere. Students will dive in to produce short movies that could end up on You Tube and in Carroll's spring Charlies video competition. The course will then expand into elements of film production, all taught by a professor who has produced documentaries and trained professional broadcasters.

CS 189 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.

CS 202 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).

CS 213 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.

CS 213L Management Info Systems Lab

CS 230 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.

CS 251 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.

CS 287 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.

CS 289 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.

CS 310 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.

CS 311 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.

CS 322 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.

CS 330 Networking Technologies

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. The labs use primarily Cisco equipment and track Cisco CCNA certification standards.

CS 330L Networking Technologies Lab

CS 331 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.

CS 389 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.

CS 410 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.

CS 421 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.

CS 425 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.

CS 430 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.

CS 485 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.

CS 489 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.

CS 495 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.

CS 499 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.