CMPSC-111 - Introduction to Computing (3)
NOTE: Credit for this course will not be given to a student who has previously completed Business 242
This course serves as an introduction to computer literacy. In addition to hands-on experience with word-processing, spreadsheet, presentation, database, web page authoring, and web browsing software applications programs, the course will cover the history of computing, an overview of hardware and software components and an examination of the social impact of computer technology.
CMPSC-112 Survey of Computer Science (3)
This course takes a breadth-first view of the discipline of computer science, focusing on what computers are, how they work, what they can - and cannot - do, and the impact they have on society. The course focuses on algorithms and how they are expressed through hardware, virtual machines, software, and applications. This takes the course through many aspects of the discipline, including social impact. CMPSC 112 is required of all computer science and computer studies majors and minors. Students from other majors may take the course, but applicability to their majors or minors may be determined only by the student's department.
CMPSC-115 Navigating the Net (1)
In this workshop the student will learn to use a Web browser and search engines to search the World Wide Web.
CMPSC-120 Creating Web Pages I (1)
The first of two short courses in which the student learns to create and maintain a web page.
CMPSC-121 Creating Web Pages II (1)
Prerequisite: CMPSC 120
This short course builds on the knowledge gained in CMPSC 120. Students learn to create and maintain Web sites.
CMPSC-201 Visual Basic Programming (4)
Prerequisite: Departmental placement or MATH 099 or consent of the instructor, and either CMPSC 111 or CMPSC 112
This course introduces the student to programming using the Visual Basic programming language. Students create simple programs that use the basic elements of programming: control structures, logical expressions, variables, arrays and screen and file input and output. Students are evaluated on their ability to write programs.
CMPSC-202 Principles of Computer Programming I (4)
Prerequisite: CMPSC 201 and MATH 112
This is the first programming course in the basic sequence for computer science majors. The course will introduce the student to problem solving, algorithm development and the concept of structured programming using C++. Assignment, selection, control statements, data types, functions, and arrays will be studied. The student will design, code and debug a variety of application programs. Emphasis will be on programming techniques, style and documentation.
CMPSC-203 Principles of Computer Programming II (4)
Prerequisite: CMPSC 202
Building on the techniques developed in CMPSC 202, the student acquires a deeper understanding of structured programming concepts and an introduction to object-oriented programming. Data structures such as arrays, stacks, queues, records, linked lists and binary trees are studied using C++ with classes. Recursion and the classical sorting and searching techniques are also covered. The student is assigned longer programs that incorporate these new concepts.
CMPSC-205 Productivity Applications (3)
Prerequisite: CMPSC 111 or consent of instructor.
Students will enhance their ability to work with word-processing, spreadsheet, presentation and database applications. Using spreadsheets, they will create charts, maps, complex formulas, functions, pivot tables and macros, and will learn to use VBA. Using presentation software, they will create multimedia slides. Using databases, they will create queries, calculated fields, macros and archive tables.
CMPSC-227 HTML Programming (1)
This course provides an introduction to hypertext markup language (HTML), used in the creation of Web pages. Students learn to create links, tables, frames, forms and cascading style sheets. They will create single Web pages and more complex Web sites.
CMPSC-228 JavaScript Programming (1)
Prerequisite: CMPSC 227 or consent of instructor
This course provides an introduction to JavaScript programming, used to create Web pages with a limited degree of interactivity. Students will learn about variables, objects, data types, operators, frames, forms, events, control structures and repetition.
CMPSC-229 Server Side Programming (1)
Prerequisite: CMPSC 228 or consent of instructor
This course provides an introduction to server-side processing through the use of active server pages. Students will learn to create forms to allow Internet users to access (and update) databases. Topics covered will include databases, queries, VBScript and JavaScript.
CMPSC-231 Graphical User Interface Design (4)
Prerequisite: CMPSC 201
This course builds on skills learned in CMPSC 201 (Visual Basic). Students will use Visual Basic to create software applications with event-driven graphical user interfaces (GUI). These programs will be deployed for use on a desktop, on a network server, and also on the Web. Topics include pop-up menus, toolbars, database programming, Microsoft common controls, ActiveX controls, ActiveX documents, and API programming.
CMPSC-235 Systems Analysis and Design (3)
Prerequisite: CMPSC 111 or CMPSC 112
This course covers the major aspects of the systems development life cycle. It includes such topics as data collection, cost analysis, file design, input/output design, project documentation, system testing and implementation.
CMPSC-245 Computer Systems and Organization (4)
Prerequisite: CMPSC 202, MATH 200
This course introduces students to the internal architecture of computer systems. The course material addresses the relationship among a computer's hardware components, native instruction set, assembly language, and high-level languages. Basic concepts in computer systems and their effect on the performance of programs are introduced. Assembly language programming exercises are used to explore computer architecture.
CMPSC-255 Fundamentals of Computer Networking (3)
Prerequisite: CMPSC 112 or consent of the instructor
This course provides an introduction to computer networks. Topics include data communications fundamentals, local area networks, internetworking, networking software, wide area networks, the Internet. A brief introduction to issues of network administration is provided.
CMPSC-256 Operating Systems for Practitioners (3)
Prerequisite: CMPSC 112
This course introduces the student to hardware and software implementation issues surrounding operating systems. Topics include file, memory, process, device and network management, the user interface, and key features and implementations of popular operating systems (such as Microsoft Windows and Linux).
CMPSC-260 Topics in Computer Science (Credit varies)
Prerequisite: Consent of the instructor
This course is provided for special topics in computer science of particular interest to faculty or students. Approval for course topic must be given by the department.
CMPSC-301 Operating Systems (3)
Prerequisite: CMPSC 245
The role of operating systems in modern-day computers is discussed. Topics include the dual-mode computer, interrupts, job and process scheduling, memory management, file management, concurrency, multiprocessing, networking and distributed systems.
CMPSC-305 Web Applications I (3)
Prerequisite: CMPSC 205 or consent of instructor
This course teaches basic Web site creation and maintenance, including the defining of a Web site, the development of pages and the use of text, graphics, hyperlinks, tables, forms, layered objects, frames, multimedia, templates, behaviors, style sheets, and other features. As one of the course projects, students establish their own Web presence by developing a personal Web site.
CMPSC-306 Web Applications II (3)
Prerequisite: CMPSC 201 and CMPSC 305
This course introduces the student to several languages and software applications that extend the capabilities of basic HTML. Dynamic HTML, XHTML, XML, VB Scripting, Active Server Pages and database-driven pages are explored.
CMPSC-309 Issues in Computing (3)
Prerequisite: Junior-level status
This course explores the extent to which advances in information technology have affected our society. Areas of study include access to technology, privacy, censorship, the information superhighway and computers in the workplace. Serious consideration is given to the many social, ethical and moral issues that arise from society's use of and dependence on computers; an emphasis is placed on the ethical issues facing computer professionals.
CMPSC-310 Multimedia for Web Applications (3)
Cross Ref: Art 327
Prerequisite: CMPSC 305, ART 219
This digital production course offers students a range of experiences with the techniques and tools for developing artwork for computer animation and interactive media. Projects in this course will allow students to experiment with a variety of processes for capturing and editing material. Output from this course will include CD-ROM, Web content and digital video.
CMPSC-311 Data Structures (4)
Prerequisite: CMPSC 203
This course expands on the coverage of data structures in CMPSC 203. Topics include a further examination of linked lists, graph representations and algorithms, hashing, methods of external sorting and the organization of files and their directories.
CMPSC-315 E-Commerce Applications and Technology (3)
Prerequisite: CMPSC 305
This course is directed toward computer analysts and programmers to familiarize them with computer applications for electronic commerce site development. Essential topics in electronic commerce are explored. A software application is thoroughly developed.
CMPSC-316 Advanced E-Commerce Applications (4)
Prerequisite: CMPSC 315
Responsibility for deploying and/or managing intranets, Web, or e-commerce is covered, maximizing information handling success and building sites using customizable starter sites. A full site will be developed utilizing server software and packages.
CMPSC-321 Relational Database Theory and Design (4)
Prerequisite: CMPSC 201 or CMPSC 202
This course introduces the student to relational databases. Topics include normalization, structured query language (SQL), entity-relationship modeling, performance measures, Data security and concurrency techniques. Discussion of object-oriented databases, client-server systems and data warehousing round out the course.
CMPSC-341 Programming Languages (3)
Prerequisite: CMPSC 245 or consent of the instructor
This course provides a study of programming language design and analysis. Topics include syntax, semantics, data types, assignment statements, control structures and subprograms. Traditional imperative languages as well as functional, logic, object-oriented and parallel languages are introduced. Programming assignments in non-imperative languages are required.
CMPSC-350 Internship (Credit varies to a maximum of 12 hrs.)
The internship opportunity is reserved for students who are employed in positions that involve computer science/studies knowledge and skills. We provide this opportunity to encourage students to gain practical, real-world experience that can enhance their understanding of the discipline and their potential as computer professionals. The student must apply for the academic credit at the time the internship takes place. See department chairperson for internship guidelines.
CMPSC-351 Algorithm Analysis and Design (3)
Prerequisite: MATH 200 and CMPSC 311
This course provides an introduction to different design and analysis approaches of computer algorithms. These include; searching, sorting, and graph algorithms. Analytic approaches including proof of correctness and calculations of time and memory complexity are covered. The concept of distributed algorithms is introduced and compared to centralized algorithms.
CMPSC-356 Network Routing and Configurations (3)
Prerequisite: CMPSC 255
This course emphasizes the concept of routing and router's configurations. The concepts covered in this course enable students to develop experience in network design and configurations. Topics include IP addressing, routing protocols, router configurations, internetwork operating system, access control lists (ACLs), basic router troubleshooting.
CMPSC-357 Routing and Switching Protocols (3)
Prerequisite: CMPSC 356
This course extends a student's knowledge and practical experience with the design of local area networks (LANs) and the configuration and maintenance of routers and switches. Topics include classless routing, OSPF concepts, EIGRP, switching concepts, spanning tree protocol and virtual LANs.
CMPSC-358 WAN Technologies (3)
Prerequisite: CMPSC 357
This course introduces students to wide area network (WAN) technology and enables them to develop practical experience in designing and configuring WANs. Topics include scaling IP addresses, ISDN and DDR, frame relay, point-to-point protocol, network administration, optical networks, quality of service (QoS) and VBN.
CMPSC-360 Advanced Topics in Computer Science (Credit varies)
Prerequisite: Consent of the instructor
This course provides the student with an opportunity to study in detail one specific topic or area in computer science. The specific topic presented can be an area of particular interest to faculty or students, but must receive approval of the department. Possible topics include object-oriented programming, distributed systems, queuing theory, artificial intelligence and parallel processing.
CMPSC-370 Independent Study (1-4)
Prerequisite: Consent of instructor
Topic varies.
CMPSC-380 Web Servers (3)
Prerequisite: CMPSC 255
This course is concerned with the planning, deployment and administration skills necessary to maintain a Web server. Topics include hardware and software selection, traffic projections, fundamentals of server maintenance, domain registration, site organization, and configuration of various types of servers.
CMPSC-381 Web Security (3)
Prerequisite: CMPSC 380
This course covers the causes of network and Web insecurities, such as hacking, virus transmission and code corruption. Students are provided with an array of back-up procedures and security techniques. They will learn how to secure and protect a Web site, Web servers, network resources, clients, Web-accessible databases, and e-commerce transactions.
CMPSC-390 Software Engineering (4)
Prerequisite: CMPSC 311 and senior status, or departmental approval
This course addresses the foundations, methodologies and tools for developing high-quality large-scale software systems with an emphasis on the technical issues of software development. Students in this course work in groups to design and implement large-scale projects.
CMPSC-395 Computer Studies Capstone Course (3)
Prerequisite: Must be taken within one year of anticipated graduation date
This is the capstone course for the computer studies major. Students study the most recent developments in the field and apply their senior-level skills and knowledge to solving current problems. These may be new programming languages, innovative ways of using the World Wide Web, new application software, or new operating systems and network technology. Special attention will be given to career strategies and preparation for the job search.