51 courses with the subject CSC, 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.
CSC 100COMPUTER SYSTEM INTRODUCTION3
(also CIS 100; formerly Computer Foundations) 324 An introductory course consisting of a survey of themes pertinent to Computer Science and Computer Information Systems. Topics will range from the evolution of computers to an overview of basic computer concepts such as use of the computer, hardware components (CPU, memory, storage, I/O), the program design process, networks and digital media. (Offered Fall) Lab Fee-$75.00.
(also CIS 1000) An introductory course consisting of a survey of themes pertinent to Computer Science and Computer Information Systems. Topics will range from the evolution of computers to an overview of basic computer concepts such as use of the computer, hardware components (CPU, memory, storage, I/O), the program design process, networks and digital media.
(also CIS 103; formerly Visual Basic-Object Oriented Programming I; formerly Programming in Visual Basic) An introduction to computer programming through the use of drag-and-drop code blocks. The purpose of the course is to provide an introduction to programming logic and algorithmic problem solving strategies for students with little to no prior programming experience. Students will learn how to use the basic programming constructs such as variables, conditional statement, lists, loops and functions to solve problems by assembling and customizing blocks of code. They will also see how the visual blocks generate actual code and learn how to write some of their own in a friendly beginner language such as Python. (Offered Spring) Lab Fee-$75.00.
CSC 1030Problem Solving and Applications with Javascript3
(also CIS 1030) This course provides an accelerated application-based introduction to programming in JavaScript using immutable state and higher-order functions such as find, map, filter, and reduce. Topics include basic string processing, date/time conversions, Booleans and truth tables, conditional statements, and reasoning about program correctness using informal mathematical induction. Applications include image processing, implementing lookup and financial functions from Excel, spell check, encryption, Monte Carlo simulations for approximating probabilities such as for a winning strategy in Roulette, and using a nearest neighbor machine learning algorithm for data classification and decolorizing a photo.
This course introduces students to the basic concepts of data science, including data wrangling, cleaning, analysis, and visualization. It sets the foundation for understanding how data is collected, processed, and analyzed using various tools and techniques. The focus is on practical applications of data science across different fields. Real-world datasets and hands-on projects help students apply their knowledge to various fields.
(formerly CSC 111) This course provides an accelerated introduction to computer programming in scripting language, such as JavaScript, Python or Ruby. The emphasis of the course will be on developing logical and algorithmic problem solving skills. Students will learn how to state problems precisely and reason about the correctness of their code. Topics include functions, conditional statements, loops, loop invariants, simulations, sets, lists, recursion and inductive reasoning. Students will apply their knowledge to the partial development of an open source project, such as a spreadsheet web application.
SAT mathematics score of at least 540, CIS/CSC 103 or approval from the Chairperson. (Offered Fall) Lab Fee- $75.00.
CSC 1200Fundamental Programming3
This course provides an accelerated introduction to computer programming in a widely used programming language in industry and academia. The emphasis of the course will be on developing logical and algorithmic problem-solving skills. Students will learn how to state problems precisely and reason about the correctness of their code. Topics include function composition, basic string processing, Booleans and truth tables, conditional statements, loops, reading and writing files, and recursion. Currently Python is one of the most widely used programming languages in industry and academia. Students will learn Python and apply their knowledge to practical problems.
This course is a continuation of CSC 120. Students will continue to develop their algorithmic problem solving skills while being made increasingly aware of efficiency considerations. Topics include recurrence relations, time and space complexity, divide and conquer algorithms, dynamic programming, functional programming and advanced data structures. Students will solve real-world problems in multiple ways, analyzing the tradeoffs associated with each approach.
R is a programming language for statistical data analysis and a core programming language for data science. With its many features including a large collection of graphical libraries and packages, cross-platform compatibility, and integration with other technologies such as Hadoop and Python, R is used in many industries, research, and academics. This course is designed for undergraduate students to learn the fundamental R programming skills. This includes programming, reading data, writing functions, accessing packages, and organizing code.
(also CRJ 217) The computer forensics investigator must have finely tuned knowledge, skills and abilities to be successful. This course will focus on the practical needs of investigators. This will include basic techniques to retrieve deleted files, to search for data and information on a computer for investigations and to understand the complexities of both hardware and software. The course will also cover peripheral devices and other technology to help with investigations. The course will also help investigators to hide their identity as law enforcement when attempting to act as another on the internet (e.g. capture child sexual abusers.) The internet and cyber-security will also be covered. Lab Fee-$75.00.
Students will develop their algorithmic problem solving skills while being made increasingly aware of efficiency and ethical considerations. Topics include recurrence relations, time and space complexity, divide and conquer algorithms, greedy algorithms and dynamic programming. Students will solve real-world problems in multiple ways, analyzing the space, time and sometimes ethical trade-offs associated with each approach.
(formerly CSC 144) This course is the final course in the three-semester sequence begun in CSC 120 and CSC 121. The “classical data structures’’ (such as linked lists, stacks, queues, trees, and hash tables) will be covered. The student will spend considerable time in the computer lab writing programs.
Complementing CSC 2430, this course will have students implement abstract data types and derive solutions to a number of algorithmic problems, choosing the appropriate data structures to use and analyzing the space and time complexity of the approaches. Topics include stacks, queues, trees, hash maps, sets, bags and graphs.
Through contributions to established open-source projects, this course provides real-world collaborative software engineering experience. Students will learn how to effectively understand and contribute to large code bases. Topics include software requirements and specifications, design, documentation, prototyping, development and testing, version control, issue filing, and code review workflows.
CSC 3230Assembly Language and Systems Programming3
This course will cover computer structure and machine language, assembly language and mnemonic operations, and symbolic addresses, in addition to assembler concepts, addressing techniques, string processing and compiler concepts.
(formerly CSC 230) A study of the internal design of operating systems. Multiprogramming, file management, job and process scheduling, memory management, I/O device management, multiprocessor systems, network management. Pre- or corequesite: CSC 235 or 120.
A study of the internal design of operating systems. Multiprogramming, file management, job and process scheduling, memory management, I/O device management, multiprocessor systems, network management.
(formerly CSC 235) Formal definition of programming languages including specification of syntax and semantics. A comparative analysis of various high level programming languages. Global properties including scope of declarations, storage allocation, grouping of statements and subroutines.
Formal definition of programming languages including specification of syntax and semantics. A comparative analysis of various high level programming languages. Global properties including scope of declarations, storage allocation, grouping of statements and subroutines.
Students will be introduced to the development process of large-scale applications through the individual and collaborative creation of substantial games. Emphasis will be placed on sound software engineering design principles, independent learning and team management. Students will learn how to decompose large problems into smaller more manageable ones and will learn how to effectively use a distributed version control system such as Git. The games will be developed as web applications and converted to native mobile apps via tools such as PhoneGap.
Students will be introduced to the development process of large-scale applications through the individual and collaborative creation of substantial games. Emphasis will be placed on sound software engineering design principles, independent learning and team management. Students will learn how to decompose large problems into smaller more manageable ones and will learn how to effectively use a distributed version control system such as Git. The games will be developed as web applications and converted to native mobile apps via tools such as PhoneGap.
Introduction to the internal structure of computers. Logic design, Boolean algebra, gates and flip-flops, combinational and sequential circuits, registers, control mechanisms. Operating cycle, data and control flow in the computer, and machine format.
Students will learn how to program servers and to create server-side applications using a modern runtime environment supporting asynchronous I/O such as Node.js and a NoSQL database such as MongoDB. Throughout the course, an emphasis will be placed on solving problems using concurrent computation. Students will create chat rooms, form processing scripts, and tools for web applications according to interest.
Students will be introduced to fundamental back-end web application development concepts through project work using an industry-standard runtime environment such as Node.js. They will create web scrapers to extract data from web sites and then develop a back-end data Application Programming Interface (API) adhering to established design patterns such as Model-View-Controller-Service (MVCS) to allow applications to access that data in a format such as JavaScript Object Notation (JSON). Additionally, they will create back-end apps that interact with a cloud-native database using Object Relation Models (ORMs) to perform basic Create-Read-Update-Delete (CRUD) operations in response to application requests. They will also restrict access through API endpoints requiring authentication.
A common mistake that data scientists make is that they present technical details to a non-technical audience. Data visualization allows the audience to gain insight into vast amounts of data by using a visual context to make it easier to identify patterns, trends, and outliers as well as to interpret useful information. This course provides students with the opportunity to learn the theories of data visualization tools, efficient data structures to save data, and functions associated with those data structures. Students will have the hands-on experience in implementing those theoretical visualization tools using open-source visualization libraries.
(formerly CSC 249) Current methods in the field of artificial intelligence: knowledge-based systems, knowledge representation, problem solving, game playing, inference, planning, natural language understanding; programming in LISP or SCHEME.
Current methods in the field of artificial intelligence: knowledge-based systems, knowledge representation, problem solving, game playing, inference, planning, natural language understanding; programming in LISP or SCHEME.
Machine learning (ML) is a branch of artificial intelligence and computer science which focuses on the use of data and algorithms to discover hidden patterns and to make predictions about similar new data. It is a popular computational discipline applied in many areas including facial and speech recognition, bioinformatics, and fraud detection. This course is designed for undergraduate students to understand the fundamental concepts, algorithms, and theories in ML. Students will have hands-on experience in applying core ML methods to the analyses of various real-world data. They will learn data preprocessing, classification methods, clustering methods, and regression methods.
(formerly CSC 260-261) A protracted field experience offering theory-practice opportunity in an area of Computer Science. Activities will be supervised by participating personnel at place of business. Course requires a minimum of four one-hour and 25 minute class meetings with a faculty sponsor, a satisfactory rating by field supervisor and a minimum of 100 hours in the field for 3 credits.
Junior or senior status and at least 12 completed CSC credits. (Offered upon request) 3,
CSC 4600Internship I3
A protracted field experience offering theory-practice opportunity in an area of Computer Science. Activities will be supervised by participating personnel at place of business. Course requires a minimum of four one-hour and 25 minute class meetings with a faculty sponsor, a satisfactory rating by field supervisor, and a minimum of 100 hours in the field for 3 credits. Pass/Fail
A protracted field experience offering theory-practice opportunity in an area of Computer Science. Activities will be supervised by participating personnel at place of business. Course requires a minimum of four one-hour and 25 minute class meetings with a faculty sponsor, a satisfactory rating by field supervisor, and a minimum of 100 hours in the field for 3 credits. Pass/Fail
(formerly CSC 291) Advanced work on an individual basis in a computer science area under the guidance of a Computer Science faculty member. 1, 2, or 3 credits commensurate with accomplishment. This course may be repeated for credit. Prerequisite: Recommendation of a Faculty Sponsor and approval of Chairperson. (Offered upon request) 1-3 credits 325
Students will undertake a substantial collaborative real-world programming project that requires the breadth of skills acquired from all of their courses, according to interest. For example, a possibility would be to develop a substantial open-source web application that interacts with a server to serve the needs of a nonprofit organization.