Computer science courses

CSC102 - Business Computing
This course serves as an introduction to common business- oriented computer technologies and issues. Computer applications, misuse and the ethical use of computers in business are explored in detail. Current software applications are studied through laboratories, demonstrations and assignments. Students will learn advanced uses of application programs including spreadsheet processing and information processing with databases.(2 credits)
CSC105 - Introductory Spreadsheets
CSC110 - Advanced Spreadsheets
CSC151 - Office Application Programming
This course focuses on the customization and programmability of commonly used business applications. The main topics covered will include writing macros, controlling spreadsheets, databases and other business applications using scripts and short programs, and customizing applications to fit specific business needs. Prerequisite: CSC102 or permission of instructor. (2 credits)
CSC171QR - Computer Science I
(4 credits) (NWCore option under Quantitative Reasoning) This is the firstin a two-semester sequence of courses that introduces students tofundamental aspects of the field of computing; focusing onproblem-solving, software design concepts and their realization ascomputer programs. Topics include procedural abstraction, controlstructures, iteration, data types and their representation. Anintroduction to a high-level language, for the purpose of gaining masteryof these principles, will be provided in lectures and hands-on laboratoryexperiences.Prerequisite: C- or better in MAT090, an ACT math score of 20 or above(SAT 510 or above), or a passing score on the MAT090 placement exam.
CSC172WI - Computer Science II
(4 credits)(Writing intensive) This course moves students into the domain of software design, introducing principles that are necessary for solving large problems. Here, the classical software design process serves as a basis for treating such topics as abstract data types, specifications, complexity analysis and file organization. Basic data structures and transformations are introduced as representative of the fundamental tools that are used to aid in this process. A high-level language will be used for the purpose of gaining mastery of these principles through lectures and independent hands-on laboratory experiences.Prerequisite: CSC171.
CSC200 - Principles of Computer Information Systems
This course outlines the concepts of computer information systems, data as a resource, information technology planning and implementation, and project management. Topics covered include decision theory, information theory, the role of information technology in an organization, evaluation of system performance, the development process, and societal and ethical issues related to information systems design and use.(2 credits; alternate years, consult department)
CSC210 - Accounting Information Systems
CSC252 - Modern Business Programming
This course covers the tasks that information systems programmers are likely to encounter in their professions. It will explore specific features of programming that are relevant to business tasks using business-oriented languages such as COBOL and/or Visual Basic. Common business applications are explored on a small scale. Familiarity with basic programming concepts is expected. Prerequisite: CSC171 or permission of instructor. (3 credits; alternate years, consult department)
CSC270 - Computer Organization
This course explores architecture and computer design issues in modern computers. Part of the course is spent looking at the basic building blocks used to design and build a computer. The rest of the course deals with how to work with the computer at the level of the central processing unit, main memory and registers. Programming assignments are done in assembly language to see what commands the computer really understands.Corequisite: CSC172.(4 credits; alternate years, consult department)
CSC280 - Enterprise Architecture
Provides a practical introduction to the management and administration of a computer system. This course covers what it takes to keep a computer system going and how to ensure that users can and do use the computer efficiently. Topics covered include managing users, managing networks, hardware, operating systems and software management, developing administration policy, ethics and various related topics. The Unix operating system is used to provide practical demonstration of the topics covered. A version of Unix that can operate on a 386 or better machine will be provided.Prerequisites: CSC171, 172,and 270.(2 credits; alternate years, consult department)
CSC291 - Database Management Systems
This course examines database concepts, theory, design and management. Emphasis will be on the relational model. Topics will also include normalization, query languages, database recovery and security aspects. This course will include experience with a relational database system and programming database access into computer applications via a high-level programming language.Prerequisite: CSC171.(4 credits; alternate years, consult department)
CSC300 - Electronic Commerce Development
This course provides an introduction to electronic commerce strategy and the development and architecture of electronic business solutions and their components. Topics covered include the business models and economics associated with e-commerce, system design and implementation, building a Web interface for e- commerce, reliability, security concerns, and legal and ethical issues.Prerequisite: CSC172.(4 credits; alternate years, consult department)
CSC321 - Human Computer Interaction and Interface Programming
Human-Computer Interaction (HCI) focuses on how a user interacts with and interprets the interface of a program. A good interface can make an average program seem better than it is, and a poor interface can ruin a technically superior piece of software. This course will include theory and case studies in lecture and practical programming exercises in lab. A final project will combine theory with programming by designing, implementing, testing and evaluating a complete interface to an application.Prerequisite: CSC172.(4 credits; alternate years, consult department)
CSC351 - Data Structures
This course deals with data structures and their algorithms. Emphasis is given to good data abstraction and efficiency. The data structures covered include arrays, linked lists, trees, graphs and strings. Other topics covered may include design patterns, analysis of algorithms, and complexity classes. Programming is done in an object-oriented language.Prerequisite: CSC172.(4 credits; alternate years, consult department)
CSC361 - Networking
This course introduces the student to the field of computer networking. Students will develop an understanding of the general principles of computer communication as they are worked out in an appropriate protocol suite. Specific attention will be paid to principles of architecture, layering, multiplexing, addressing and address mapping, routing and naming. Problems considered include the writing of network software, the physical construction of networks, the Internet and its future development, and network security.Prerequisite: CSC172.(4 credits; alternate years, consult department)
CSC371 - Operating Systems
Introduction to hardware and software related to system organization. Such topics as process management, device management, and memory management are discussed, as are relevant issues associated with security and protection.Prerequisite: CSC270.(4 credits; alternate years, consult department)
CSC381 - Programming Languages
This course discusses programming languages from a general viewpoint-what are the properties of all successful programming languages? Also discussed are various programming paradigms: iterative programming, object-oriented programming, functional programming, logic programming, concurrent programming, etc. Programming may be done all in one language (emulate other paradigms), in a few select languages (one for each paradigm), or in a large variety of languages.Prerequisites: CSC270 and 351.(4 credits; alternate years, consult department)
CSC398 - Directed Study
CSC417 - Internship
(2 credits may apply toward the major)
CSC420 - Special Topics
This course is for upper-level computer science majors to cover current topics in computer science. Possible topics for this course include computer graphics, compiler construction, parallel processing, high-performance computing, and artificial intelligence.Prerequisite: junior or senior class standing or permission of instructor.(3 or 4 credits; alternate years, consult department)
CSC450 - Value Issues in Computing
This course focuses on a range of social and ethical issues involved in computer science and computer use. Computer professionals have to face these issues and deal with them in a responsible way. Some issues discussed in the course include ethical decision making, software piracy, software protection, computer crime, privacy, errors and reliability, computers and the workplace, responsibility and reliability, artificial intelligence, and virtual reality.(2 credits)
CSC470 - Senior Project
This course gives the student an opportunity to branch off into an area of their own selection. The student must obtain approval of a project proposal from a member of the department before registering for this course. The project will require planning, design, and implementation of a computer application in such a way as to integrate the material from computer science courses and courses outside computer science. Students with career concentrations or minors are encouraged to make use of materials from their other subject areas.(2 credits)