27 courses with the subject CSCI, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CSCI 1072 - Introduction to 3D Printing/Design2
This course provides an introduction to using 3D fused deposition modeling (FDM) printers. Additionally the course will cover the basics of creating models with a variety of software packages such as Tinkercad, Sculptris, OnShape, and OpenJSCAD, each of which presents a very different approach to creating models to be printed. No experience is necessary. All materials will be provided. Students will be expected to spend time outside of class in the 3D printing lab.
Introduction to the discipline of Computer Science with an emphasis on computer programming. Students will learn the process of writing programs to solve problems and visualize results from a variety of fields. Recommended for students intending to apply computer programming in their own area of concentration. Students will learn programming skills and discuss applications of these ideas. Weekly laboratories give students the opportunity for hands-on exploration of the material and the chance to solve real-world problems. (F4) ( PTK: CRE)
CSCI 120 MILE Requirement: CRE LinC Requirement: F4 Credit Type Code: Letter Grade
CSCI 121Computer Science II4
This course takes a deeper look into the process of writing correct and readable programs and further develops the mental model of memory. Using an object-oriented language, students learn how to utilize the principles of encapsulation, inheritance, and polymorphism to design and implement programs. Other topics include file input and output, exceptions, testing, and recursion.
Problem solving and programming require an understanding of logic, finite-space arithmetic, methods of organizing data, and algorithmic thinking. This course covers these topics and demonstrates their direct application in Computer Science. Completion of this course provides students with essential mathematical knowledge, skills, and abilities that are used throughout the Computer Science curriculum. Students who complete MATH 212 cannot later earn credit for CSCI 140.
Real-world data is messy, inconsistent, and hard for computers to process. This course considers the work data scientists perform to organize, structure, and clean data prior to analysis. Topics include common data formats, the data ingest process, and data cleaning.
This course is a survey of the various technologies programmers use to develop web-based applications - applications that rely on the HTTP protocol. Topics include: basic networking, the HTTP protocol, HTML and the Document Object Model (DOM), Web APIs including REST, and javascript.
This course is an introduction to the various aspects of mobile app development. Students taking this course will become familiar with app development frameworks, get used to writing event-driven code, and learn important design patterns commonly used in app development, such as MVC, singleton, and adapter. Students will also learn how to incorporate specific libraries into their apps, utilize device sensors, connect to external web services, secure, test, and deploy their apps.
A skills-based course that introduces students to techniques to automate processes in software development. Topics include terminal basics, basic system administration (files, processes, users), virtualization, OS package management, library management, containerization, orchestration, and continuous integration/continuous deployment (CI/CD). (CON)
CSCI 120 MILE Requirement: CON Credit Type Code: Letter Grade
CSCI 220 2Introduction To Devops2
A skills-based course that introduces students to techniques to automate processes in software development. Topics include terminal basics, basic system administration (files, processes, users), virtualization, OS package management, library management, containerization, orchestration, and continuous integration/continuous deployment (CI/CD).
This course is a study of what happens when a computer program is executed. We examine the organization of a modern computer from the perspective of a programmer; our examination focuses on the layers of abstraction between a high-level language program and its execution. Topics include the set of instructions that a processor supports, how a high-level language program is translated into this instruction set, how a processor carries out instructions, concurrency, the memory hierarchy, and storage systems.
An introduction to professional software development using object-oriented techniques. Topics include the use of object-oriented design as a tool for building correct and maintainable software systems, test-driven development, best-practices in object-oriented design and development informed by component-based engineering, advanced object oriented language features, and languages for communicating design. (Writing)
CSCI 244 Credit Type Code: Letter Grade TAGS Writing
CSCI 2432 - Preparing for A Computing Career2
A course that considers the skills a student needs to prepare for the world of work. Topics include exploring areas of industry, resume/cover letter preparation, job/internship search preparation, interview skills, salary negotiation, and social media and professional etiquette in the workplace. (PTK: Connections)
CSCI 120 & JUNIOR OR SENIOR STANDING MILE Requirement: CON Credit Type Code: Pass/No Credit
CSCI 243 2Preparing For A Computing Career2
A course that considers the skills a student needs to prepare for the world of work. Topics include exploring areas of industry, resume/cover letter preparation, job/internship search preparation, interview skills, salary negotiation, and social media and professional etiquette in the workplace.
CSCI 120 and Junior/Senior Standing. (PTK: Connections)
CSCI 244Advanced Software Development4
This course challenges students to evaluate code in metrics other than correctness. What is good code, and how do choices during design and implementation affect the quality of the code? Topics include test-driven development (TDD), polymorphism as a problem solving technique, basic design patterns, measuring program efficiency, data structure selection, error handling with exceptions, and the use of third-party libraries.
Features of programming languages and methods used to specify and translate them. Topics include block structure, naming, procedure invocations and parameter passage, data types, data accessing, syntactic analysis, and correspondence of source language and object language constructs.
CSCI 234 & SENIOR STANDING Credit Type Code: Letter Grade
CSCI 265Database Systems4
Data file organization and processing, indexed data files and indexing techniques, database design; database applications; query languages; relational databases, algebra, and calculus; client-server models and applications; database system implementation and web programming.
Develop 2D and 3D graphics applications and systems. Utilizing modern graphics pipeline and architecture, interactive graphics applications will be created while studying the concepts of 3D transformations, clipping, perspective, lighting, textures, and event-based user interaction. Linear algebra recommended but not required.
The structure and organization of operating systems, how modern operating systems support multiprogramming (e.g., processes, threads, communication and synchronization, memory management, etc.), files systems, and security. Programming projects involve both using operating system services as well as the implementation of core operating system components.
CSCI 222 & CSCI 244 Credit Type Code: Letter Grade
CSCI 334WI:System Design4
Project-oriented study of ideas and techniques for design and implementation of computer-based systems. Topics include project organization, interface design, documentation, and verification. Writing-intensive. (Public Speaking)(BTC)
CSCI 334 MILE Requirement: BTC Credit Type Code: Letter Grade TAGS Public Speaking
CSCI 335Simulation4
When real-world experiments are either too dangerous or too expensive to perform, computer simulation is used as an alternative. In addition to considering how to model real-world problems using computer simulation, this course studies other relevant topics including how to generate random data using a deterministic machine and how to collect and display data in a meaningful way.
Theoretical aspects of computing. Topics include formal languages (regular, context-free, and context-sensitive grammars), automata (finite-state machines, push-down automata, and Turing machines), limitations of respective computational models, and unsolvable problems.