CSC 151: INTRODUCTION TO COMPUTING USING PACKAGES (F, S)
3 credits/ Powers
This course offers a survey of computers and computer systems as well as problem-solving and computer applications for business and social science and an introduction to a PC-based Graphical User Interface/windowed operating system. Computer packages include a word processor, electronic spreadsheet, and presentation software. Internet use includes electronic mail and the World Wide Web. Credit will be given for only one of CSC 151, 152, 153, 154, and 155.
CSC 152: INTRODUCTION TO COMPUTING; MATHEMATICS/SCIENCE APPLICATIONS (F, S)
3 credits/ Powers
This course provides a survey of computers and computer systems as well as problem-solving and computer applications for science and mathematics, including data analysis and regression. It includes an introduction to a PC-based Graphical User Interface/ windowed operating system and covers word processing, design and use of electronic spreadsheets, and presentation software. Internet use includes electronic mail and the World Wide Web. Credit will be given for only one of CSC 151, 152, 153, 154, and 155.
CSC 153: THE DIGITAL PERSON (F, S)
3-6 credits/ Powers
Topics in this course include personal data collection, their use, and misuse; laws and means of protecting one’s privacy; intellectual property; strategies to find information online, including use of the library’s online databases and evaluating the credibility of sources; informed use of Web technologies like wikis, blogs, and search engines; and current issues like RFIDs, data mining, and electronic voting. Credit will be given for only one of CSC 151, 152, 153, 154, and 155. Prerequisite: Basic computer literacy.
CSC 154: Healthcare Informatics (F, S)
This course promotes an understanding of computer systems and related technologies as they are utilized by healthcare professionals across a variety of settings. The role and value of medical record technology such as Electronic Medical Records (EMRs) and Electronic Health Records (EHRs) are explored. Also studied is the relationship of healthcare informatics to patient safety and legal and ethical issues associated with the collection of personal and health data. Students collaborate and discuss these issues using technologies such as email, blogs, wikis, Websites, e-Portfolios, and mobile devices. Strategies for searching relevant library databases as well as government and health organization Websites are developed. Credit will be given for only one of CSC 151, 152, 153, 154, and 155.
CSC 155: INTRODUCTION TO COMPUTER APPLICATIONS FOR BUSINESS (F, S)
3 credits/ Powers
This course addresses effective analysis, design, and presentation of information for business, including advanced word processing, presentation graphics, spreadsheets, and databases, with emphasis on analysis. Topics include formulas, functions, charting, sorting, filtering, pivot tables, what-if analysis, database queries and reports, and business-specific library databases. Credit will be given for only one of CSC 151, 152, 153, 154, and 155.
CSC 230: PROGRAMMING CONCEPTS AND USER INTERFACES (F)
4 credits/ Powers
This course addresses problem solving and programming using problem-based learning; variables, control flow, iteration, modules, arrays, file processing, classes, and objects; and basic graphical-user interface concepts (forms/pages and controls) for desktop and/or Web or mobile environments. Three hours of lecture and two hours of laboratory per week are required.
CSC 240: DATABASE MANAGEMENT SYSTEMS (F, S)
This course includes components of database systems, database models: entity-relationship, relational, hierarchical, network; normalization, integrity, relational algebra, query languages, system security, distributed databases, and social and ethical concerns. In addition, case studies using a relational DBMS will be implemented.
CSC 280: OBJECT PROGRAMMING (S)
This course involves problem solving using a high-level object-oriented language, such as Java; analyzing problems, designing a solution, implementing a solution, testing, and debugging; abstraction, encapsulation, and inheritance; using, designing, creating, and testing classes; and selection, iteration, and simple collections, such as arrays. Three hours of lecture and two hours of laboratory per week are required. Prerequisite: CSC 230
CSC 290: INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS (F)
This course is a continuation of CSC 280. It focuses on abstract data types, including lists, stacks, queues, binary trees, and hash tables; recursive techniques; iterators; and use of classes in the Java Collections Framework for problem solving. It involves three hours of lecture and two hours of laboratory per week. Prerequisite: CSC 280
CSC 310: COMPUTERS, ETHICS, AND SOCIAL VALUES
The topics in this course include privacy and information use/misuse offline and online, intellectual property, the First Amendment, e-waste, accuracy of information, ethics, effects of computers on work and society, responsibilities and risks of computing, current issues such as credit cards and associated debt, cyberwar, and cloud computing. Prerequisites: CSIT 220 and CSC 240
CSC 340: .NET PROGRAMMING
This course focuses on programming in .NET (such as Visual Basic.NET or C#) and Active Server Pages (ASP.NET) that supports work with databases and the Web; models that support database access, such as MS SQL, Entity Framework, and LINQ; design and development of solutions to problems using database tools and programming; and database-driven Web sites, including validation, navigation, and security. Prerequisites: CSC 230 and CSC 240
CSC 341: OPEN-SOURCE APPLICATION DEVELOPMENT
Students will develop Web solutions that integrate client- and server-side interfaces. The emphasis for the course will be on development for server side, with results being viewed and designed for the client. At least half of the course will include database maintenance using the open-source solution, including development of authentication and authorization. Prerequisites: CSC 230 and CSC 240
CSC 343: CLIENT-SIDE SCRIPTING
CSC 349: MOBILE COMPUTING
This course covers software mobile application development, its architecture and lifecycle as well as its inherent design considerations. Students will learn about mobile resources, activities, views, layouts, and intents in addition to interacting with the location-based services, messaging services, multimedia interfaces, and sensors available on the mobile device. The applications developed will manage data input from and output to files, databases, and content providers. After developing applications in an emulation environment, students will install them on individual mobile devices as well as prepare them for marketplace distribution. Prerequisite: CSC 280
CSC 360: INTERNSHIP
Internships offer part-time, paid, or non-paid employment in a cooperating site to provide practical experience in the discipline. Working under professional supervision for at least 20 hours per week, students learn how to apply their education to the everyday demands of the world of work. Students will meet regularly with a faculty member and will be encouraged to reflect on the relationship between coursework and their internship experience. Required: junior or senior standing, 2.5 GPA overall and in the major, and recommendation of the internship coordinator.
CSC 366: LANGUAGE THEORY AND DESIGN
This course involves programming languages; historical perspective and underlying serial computation model; theory: finite automata, Backus-Naur Form, representations, and grammars; and design: syntax, semantics, run-time implementation, and application domains. Language paradigms will include procedural, functional, logical, object-oriented, and non-sequential processing. Prerequisites: CSC 290 and MTH 261.
CSC 370-379: SELECTED TOPICS IN COMPUTER SCIENCE
This course is an introduction to specialized areas of computer science. The topics will vary from term to term. Prerequisite: junior computer science standing.
CSC 381: SOFTWARE ENGINEERING
The intent of this course is to focus on basic concepts and major issues of project design using a software engineering approach; the software development life cycle; structured analysis and object-oriented design techniques; and modeling, project planning, requirements definition, and requirements testing. Prerequisite: CSC 290
CSC 446: DATA MINING
This course introduces data mining, with an emphasis on applying machine learning techniques for data mining; popular methods, such as learning of decision trees, decision tables, rules, and cases; algorithms and applicability; practical applications; data preparation and evaluation of results, including human role in data mining; and ethical issues. Prerequisite: CSC 280
CSC 450, 451: COOPERATIVE EDUCATION
These opportunities involve full-time, paid, six-month assignments in a cooperating firm, with job-related learning under faculty and on-site supervision. Students will meet regularly with a faculty member and will be encouraged to reflect on the relationship between coursework and their co-op experience. Positions are arranged through the Chair of the Department or director of the program. Requirements include junior or senior standing, 2.5 GPA overall and in the major, and recommendation of the co-op coordinator.
CSC 456: ARTIFICIAL INTELLIGENCE
Intelligent systems technologies that have or may become practical for organizational use will be addressed in this course. Topics may include simple expert systems and expert systems with certainty factors, case-based reasoning, machine learning, neural networks, genetic algorithms, fuzzy logic, and two-person game playing. Prerequisites: CSC 280 and MTH 260
CSC 457: OPERATING SYSTEMS
Principles and concepts of process and resource management in operating systems will be the focus of this course. I/O programming; interrupt mechanism and memory management; processor management; scheduler; priority queues; traffic controller; device management; and information management and file systems are select topics. Prerequisite: CSC 290
CSC 464: THEORY OF ALGORITHMS
Students will engage in problem-solving strategies, including divide and conquer, greedy, backtracking, and dynamic programming; will focus on the complexity analysis of algorithms; and will be introduced to complexity classes P and NP, with strategies for NP-complete problems. Prerequisites: CSC 290 and MTH 261
CSC 470–479: SELECTED TOPICS IN COMPUTER SCIENCE
This course provides an introduction to specialized research in computers and computing, concentrating on one particular aspect of computer science. The subject matter will vary from term to term. Prerequisite: senior computer science standing
CSC 481: PROJECT IMPLEMENTATION
This course addresses implementation issues, programming language features, validation and verification techniques, and software maintenance. It requires a team project to develop, document, test, and maintain a software system. Prerequisite: CSC 381