Computing Technology (COMP)
Course numbers with the # symbol included (e.g. #400) have not been taught in the last 3 years.
COMP 405 - Introduction to Internet and Web Authoring
COMP 415 - Mobile Computing First and For Most
This course examines how mobile computing is transforming our everyday lives and the society and environment in which we live. In this course the students will engage the mobile ecosystem by inventing apps and solving problems of personal, social, and environmental relevance. Students will learn computational thinking skills and create mobile apps using AppInventor, a free and open source visual blocks-based programming environment. Students will share their creative apps with peers and communities. They will also exercise inclusion, civic engagement, and peer learning in the context of innovating with free and open source software that empower individuals and communities.
COMP 425 - Introduction to Programming
An introduction to problem solving and object-oriented programming. Emphasis is on programming concepts and techniques and their application to software development. Students learn to write, review, document, share, and demonstrate interactive applications and participate in pair programming, peer-led tutoring, and collaborative learning throughout the course.
COMP 430 - Systems Fundamentals
The underlying hardware and software infrastructure upon which applications are constructed is collectively described by the term "computer systems." Computer systems broadly span the subdisciplines of operating systems, parallel and distributed systems, communications networks, and computer architecture. The class will present an integrative view of these fundamental concepts in a unified albeit simplified fashion, providing a common foundation for the different specialized mechanisms and policies appropriate to the particular domain area.
COMP 490 - Statistics in Computing and Engineering
An introduction to tools from probability and statistics that are needed by computing and engineering professionals. Exploratory data analysis including graphic data analysis. discrete and continuous probability distributions, inference, linear regression, and analysis of variance, with applications from artifical intelligence, machine learning, data mining, and related topics. Project work and use of statistical software are an integral part of the course. Prereq: MATH 425\MATH 424B\MATH 424A.
COMP 500 - Discrete Structures
This course prepares students for understanding computational complexity; i.e., what makes a given task/problem hard and how hardness is measured. It accomplishes this through the study of algorithms, permutations, combinations, probability, graph theory, and trees. Prereq: MATH 425.
COMP #505 - Advanced Web Authoring
An introduction to web applications development. The course builds on introductory programming and web authoring. Emphasis is on dynamic web concepts and advanced programming techniques using markup languages and client-side and server-side scripting. Students learn to develop interactive web pages and integrate them with web-based systems. Students participate in real-world team projects. Prereq: COMP 405 and COMP 425, or permission.
COMP #515 - Multimedia: Introduction and Applications
Examines the history and underlying theory behind computer integration of text, sound, video, and graphics. Topics include: hardware and software requirements, design criteria, analysis of current hypertext, and multimedia applications in education and business. Students gain practical experience in developing multimedia applications on the Macintosh platform.
COMP 520 - Database Design and Development
An introduction to developing database applications with business users. Topics incluce fundamentals of the relational model, structured query language, data modeling and database design and implementation. Students use a variety of database management system tools to model, code, debug, document, and test database applications. Students complete real-world team projects. Prereq: COMP #505 and COMP 510, or permission.
COMP 525 - Data Structures Fundamentals
Data structures and algorithms are fundamental to developing solutions for computational problems. In this course students design and implement data and functional abstractions; analyze and select appropriate data structures to solve computational problems; practice programming and software development techniques to implement computational solutions. Prereq: COMP 425.
COMP 530 - Machine and Network Architecture
Examines the following topics. Machine organization: program and data representation; registers, instructions, and addressing modes; assemblers and linkers. Impact of hardware on software and software on hardware. Introduces the Internet protocol suite and network tools and programming and discusses various networking technologies.
COMP 550 - Networking Concepts
Explores the fundamentals of data communications and networking requirements for an organization, including the standard layers of network organization; network technologies; and protocols for LANs, WANs, wireless networks, and switched and routed networks. Includes issues of security, topology, management, and future developments. Prereq: COMP 542 or permission.
COMP 560 - Ethics and the Law in the Digital Age
Examines classical and ethical and legal constructs as they pertain to current and topical issues. Students develop and articulate a personal point of view on a broad range of issues based on sound ethical principles and consider the impact of such views on co-workers, employers, and society in general. Topics also include: major social issues involving intellectual property, privacy, current U.S. and international relations relevant to ethical theories. The interplay between ethics and law is explored through current case studies and students formulate and support conclusions based on ethical constructs presented in class. Case study analysis is a major component in course delivery. Writing intensive.
Attributes: Humanities(Disc); Writing Intensive Course
COMP 590 - Entrepreneurship Project
This course requires the development of a conceptual business plan for a proposed real world project undertaken by a team of students. An iterative approach is used to incrementally address the project requirements while constructing and refining original proposed plan. Prereq: COMP 525.
COMP 625 - Data Structures and Algorithms
An introduction to object-oriented design, analysis, and implementation of data structures and algorithms. Students apply concepts and techniques to develop information processing applications. Best programming practices of editing, debugging, documentation, testing, and code review are stressed. Familiarity with an object-oriented programming language and experience with application development are required. Prereq: COMP 425 and COMP #505, or permission.
COMP 640 - Human Computer Interaction
This course familiarizes students with Human Computer Interaction and the significant role it plays in product design and development. The principles of HCI, examples of good and bad applications, and factors that determine a design's effectiveness are covered. Stages of the product development life cycle are discussed to understand the progression of a project from conception to delivery and the impact it has on HCI. No credit for students who took CIS 599 Special Topics: Human Computer Interaction.
COMP 650 - Network Administration and Maintenance
Advances the understanding of networks through practical application of administering and maintaining and intranet and its servers. Students use a modern server operating system and network management tools. Routine tasks include: install and configure servers, setup directory services and access privileges, tune network services, understand and implement network security, perform routine maintenance, and practice troubleshooting techniques. Prereq: COMP 550 or permission.
COMP 685 - Professional Development Seminar
The Professional Development Seminar is designed to prepare students for successful internship placement and future work opportunities in the computer profession. You will learn the tools to effectively market yourself, manage job fairs, practice informational interviews, prepare for interviews, and learn about the workplace in general. You will also actively seek a work experience for the following semester. Prereq: Majors must complete 40 CIS credits, or have permission from the program coordinator. Not open to students who passed CIS 680.
COMP 690 - Internship Experience
The internship provides field-based learning experience through placement in a computing field. Students gain practical computing experience in a business, non-profit, or government organization. Under the direction of a faculty advisor and workplace superviser, the student is expected to contribute to the information technology products, processes, or services of the organization. Prereq: COMP 685 and instructor permission. Majors only. May be repeated up to 8 credits but no more than 4 credits may fill major requirements.
COMP 698 - Special Topics
Course topics not offered in other courses. Topics covered vary depending on contemporary computing topics, programmatic need, and availability and expertise of faculty. Barring duplication of subject, may be repeated for credit. Prereq: permission.
COMP 705 - Web Application Development
Students work in teams and implement, test, document, demonstrate, and deploy web systems that solve organizational needs expressed by real clients. Emphasis is on advanced server-side and client-side programming and integration of web application with database and web server applications. Free and open source development and communication tools are used to carry out the course project. Prereq: Senior status or permission. No credit for students who have completed CIS 605.
COMP 715 - Information Security
Topics include general security principals and practices, network and system security, access control methodology, and crptography. Students develop a simple crytographic system based on sound mathematical principals, work to improve it, and find ways to attack it. Some programming required. Prereq: Senior status or permission. No credit for students who have completed CIS 615.
COMP 720 - Database Application Development
This is a project course that provides practical experience with developing a storage subsystem of a computer information system. Topics include data modeling, database design, system implementation, and integration with a target application. Emphasis is on implementation activities, database application development artifacts, project communication, and supporting system development and project management tools. Prereq: Senior status or permission. No credit for students who have completed CIS 650.
COMP 721 - Big Data for Data Engineers
In this course students gain practical experience developing data-oriented applications in modern infrastructure frameworks, also known as the cloud data solutions. Guided by what a data scientist profile is, students become familiar with the use cases of data oriented applications. They will apply key data modeling and data design concepts to meet business requirements. Students will also apply modern software development to iteratively construct solutions using established reference architectures. Project work will be based in Google Cloud Platform and Amazon Web Services. Prereq: COMP 525 and COMP 530 or equivalent. Special fee.
COMP 725 - Programming Languages
Explores the main features of modern, high-level, general purpose programming languages from the user point of view. Provides students with an opportunity to use non-imperative programming paradigms, such as object-oriented, functional, and visual, and to learn how specific features of such languages can be used efficiently in solving problems. The purpose is to gain knowledge regarding the languages studied as well as providing the basis to conduct analysis related to comparisons and divergence in capabilities. Prereq: COMP 425 or equivalent. No credit earned if credit received for ET #647, CIS 698 Adv Perspectives on Programming, or COMP 698 Adv Perspectives on Programming.
COMP 730 - Object-Oriented Software Development
Presents an iterative methodology for developing software systems. Development activities include requirements elicitation and analysis, system and object design, implementation and testing, project and configuration management, infrastructure maintenance, and system deployment to end user. Students work in team, assume developer roles, build models of a real-world system, and deliver a proof-of-concept or prototype. Prereq: Senior status or permission. No credit for students who have completed CIS 610. Writing intensive.
Attributes: Writing Intensive Course
COMP 750 - Neural Networks
Artifcal neural newtworks power the recent advances in computer vision, speech recognition, and machine translation. This is a first course on neural networks with a focus on applications in computer vision and natural language processing. Topics will include generic feedforward neural networks, convolutional neural networks for computer vision tasks and recurrent neural networks with application to natural language processing, with other topics to be selected based on the interests of the instructor and the class. Prereq: MATH 425, MATH 545 or MATH 645, COMP 490, or permission of the instructor. Also listed as DATA 750.
COMP 780 - Advanced Topics in Computing
The course includes advanced topics ans emerging areas in computing. Barring duplication of subject, the course may be repeated for credit. Prereq: Senior status or permission.
COMP 790 - Capstone Project
This course requires the development of a real world project that responds to an IT organizational need. The project is undertaken by a team of students. An iterative approach is used to incrementally address the project requirements while constructing a prototype of the IT solution to the original problem. Prereq: COMP 690 and CIS 610. Writing intensive.
Attributes: Writing Intensive Course
COMP 795 - Independent Study
Advanced individual study under the direction of a faculty mentor. Content area to be determined in consultation with faculty mentor. Prereq: permission. May be repeated.