20 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 130Introduction to Computer Science and Programming4
An introduction to Computer Science and Programming using a high-level language. Topics include algorithm development, file I/O, structured programming, object-oriented programming, exception handling, function development, and recursion. Students are required to earn a C- or higher before taking CSC 220, CSC 225, CSC 231, CSC 250, or CSC 260. (4 credit hours)
Number representation and arithmetic; introduction to logic circuit design and simplification using Boolean algebra and Karnaugh maps; combinational logic building blocks such as multiplexers, demultiplexers, encoders, decoders, comparators, adders, ALUs; analysis and design of sequential logic circuits; sequential logic building blocks such as storage registers, shift registers and counters, assembly language programming. Basic operating system principles and operating system internals: the hardware/software interface; file systems; resource management; command languages; segmentation, paging and virtual memory; other virtual resources. (4 credit hours)
Continued development of programming using abstract data structures and top-down design. Debugging and testing of large programs. Emphasis on algorithm development and introduction to algorithm complexity. Topics include list processing, linked lists, stacks, queues, trees, and advanced use of recursion. Students are required to earn a C- or higher in CSC 225 before taking CSC 312. (4 credit hours)
Discrete structures useful in computer science. Topics will include logic and proof, recurrence relations, sets, graphs, and an introduction to the theory of formal languages and automata. (3 credit hours)
A study of the analysis, design, and implementation phases of software systems development using a phased life cycle approach. Topics to include process, data and object- oriented development models; introduction to modeling tools and CASE software; team approaches to software development including Agile, and project management concepts. Course will be taught in a language other than that used in CSC 130. (3 credit hours)
A course in the design, function, and application of database management systems, including the front-end component of a Community Engagement project. Database topics to include the entity-relationship model, the relational model, integrity constraints, functional dependencies, normalization, concurrency, and transaction management. (4 credit hours)
CSC 299Professional Practices in the Mathematical Sciences1
This course focuses on professional practices, preparation, and presentational methods in computer science and mathematics. Topics will include identifying potential internships and other significant practical experiences, writing cover letters and resumes, networking, and interviewing. Students will attend talks given by upperclassmen, graduate students, and professionals from various fields in computer and mathematical sciences, and will be introduced to professional organizations and trends in professional issues. (1 credit hour)
A study of algorithms and their complexity, including sorting, searching, pattern matching, combinatorics, backtracking, dynamic programming, and approximations and heuristics for NP-complete problems. (3 credit hours)
Data mining is concerned with the extraction of information from large amounts of data. This project-based course introduces the concepts, issues, tasks and techniques of data mining. Topics include data preparation and feature selection, classification, clustering, evaluation and validation, and data mining applications. (3 credit hours)
A course in the design and layout of graphical user interfaces. The course will emphasize broad categories of topics within human-computer interaction: the principles and characteristics of the interaction between humans and computers; the techniques for designing and evaluating user-centered systems; and current areas of research and development in human-computer interaction. (3 credit hours)
An introduction to the techniques of obtaining numerical solutions on a computer. Topics include roots of equations, numerical integration, least squares, simultaneous equations, and curve fitting. (3 credit hours)
Practical off-campus experience in a field setting that applies methodologies of computer science. For each credit hour granted students are expected to be involved in at least 45 hours of approved activity. The duration should normally occur over a minimum of three weeks. (0 to 15 credit hours)
CSC 343Applied Programming Practicum in Computer Science1
Application of programming skills in problem solving scenarios in a structured setting. One credit hour is associated with each three hours of work every week for a 14-week semester. For programming team participants, one credit hour is associated with each semester of participation on the team. May be repeated up to six times. (1 credit hour)
When the Senior Study requirement is fulfilled with a two-course sequence, 351 is the first course. The courses involve individual study, with the guidance of a faculty supervisor, that provides experience in independent research and the preparation of a finished paper or product. (3 credit hours each)
When the Senior Study requirement is fulfilled with a two-course sequence, 352 is the second course. The courses involve individual study, with the guidance of a faculty supervisor, that provides experience in independent research and the preparation of a finished paper or product. Ordinarily taken in the fall term of the senior year and preceded by 351 in the spring term of the junior year. (3 credit hours each)
When the Senior Study requirement is fulfilled with a one-course sequence, that experience is designated 353. Individual study, with the guidance of a faculty supervisor, that provides experience in independent research and the preparation of a finished paper or product. (3 credit hours)
A study of theoretical models of computing, including finite state machines, pushdown automata, context-free grammars, and Turing machines. The concepts of decidability, complexity theory, and NP- Completeness will be studied in depth. (3 credit hours)