CS - Computer Science
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.
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.
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.
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.
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).
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.
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.
Intermediate Writing. 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.
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.
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.
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.
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.
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.
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.
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 341 is a hands-on lab-based approach for building a web-application, using the concepts and practices of a modern software development process. The course will examine various frameworks and tools and investigate how those aid the developer in creating a solution in a more efficient and maintainable manner. This course will discuss coding style, algorithms, design patterns, as well as the use of technologies that attempt to make it easier for either a single developer or a team of developers to create modern web-applications that can be easily deployed. More specifically,
CS 341 will cover a wide variety of topics including software development, configuration, deployment, and monitoring. Technologies and frameworks to be covered include Java, HTML5, Spring, Gradle, Docker, JUnit, MySQL (SQL), Redis (NoSQL), and webservices (RestFUL). Students may upload their completed projects to an AWS instance in the Amazon cloud and verify that it can be accessed.
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.
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.
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.
Internship Experiences recognize that learning can take place outside the classroom. Carroll College allows its students to participate in opportunities that relate to their area of study. This opportunity must relate directly a student's program of study in order to qualify for an internship. Close cooperation among Carroll and the participating organizations ensures an experience that contributes significantly to the student's overall growth and professional development. Juniors and seniors in any major area may participate with the approval of faculty internship advisor and/or department chair, Career Services, and a site supervisor. Students will receive academic credit and may or may not receive monetary compensation for an internship. A student may apply a maximum of 12 semester hours to degree requirements; academic departments will determine the number of credits that may count toward the major (most majors accept 6 hours total). Enrollment in the course must be during the same semester in which the experience takes place. Interested students should contact their academic advisor and Career Services prior to the start of an experience.
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.
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.
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.
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.
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.