Pre-service teachers will learn to use software programs that will increase their future productivity as teachers. Students will learn how to create presentations and instructional materials using Microsoft PowerPoint. Students will learn how to simplify their recordkeeping tasks, perform data analysis, and create graphs using Microsoft Excel. Students will learn how to create classroom and/or instructional webpages and knowledge inquiry learning units, called web quests, via a webpage editor. Students will reinforce techniques learned in class via several projects. In addition to learning practical computer skills, students will learn about various issues concerning the effective use of computers in the classroom. Students will prepare oral presentations to share their research on topics such as digital divide, gender considerations, technology available to assist students with disabilities, quality web resources for homework help, cyber safety for children, and use of www resources in lesson planning and enrichment. Prerequisite: some word-processing skills. (C7)
ONLINE component to course.
Undergraduate Courses
Course Delivery DEFINITIONS:
- Online Courses: In online teaching, 100% of instruction takes place online via Canvas and with supplemental platforms like Zoom. There are two types of online courses: asynchronous and synchronous.
- Asynchronous online: Course is fully online, with lessons, assignments, and activities posted in Canvas with due dates. Students complete coursework, engage in discussions, etc., based upon their own schedules, but are required to meet posted deadlines.
- Synchronous online: Online course that includes real-time class meetings using technology (e.g. Zoom). The number of required meetings varies based upon the particular class, but meetings take place during the scheduled class times. Faculty will inform students of the schedule for real-time meetings in their courses.
- Hybrid Courses: Hybrid courses combine both in-person, on-campus meetings with online instruction. All face-to-face activities take place during the regularly-scheduled meeting times in the rooms assigned on the course listing. The number of in-person meetings varies by course. Faculty will notify students of the exact meeting schedule for their courses.
If your class is not listed as online or hybrid, it will meet fully face-to-face following the noted class schedule.
Pre-service teachers will learn to use software programs that will increase their future productivity as teachers. Students will learn how to create presentations and instructional materials using Microsoft PowerPoint. Students will learn how to simplify their recordkeeping tasks, perform data analysis, and create graphs using Microsoft Excel. Students will learn how to create classroom and/or instructional webpages and knowledge inquiry learning units, called web quests, via a webpage editor. Students will reinforce techniques learned in class via several projects. In addition to learning practical computer skills, students will learn about various issues concerning the effective use of computers in the classroom. Students will prepare oral presentations to share their research on topics such as digital divide, gender considerations, technology available to assist students with disabilities, quality web resources for homework help, cyber safety for children, and use of www resources in lesson planning and enrichment. Prerequisite: some word-processing skills. (C7)
Completely ONLINE.
Pre-service teachers will learn to use software programs that will increase their future productivity as teachers. Students will learn how to create presentations and instructional materials using Microsoft PowerPoint. Students will learn how to simplify their recordkeeping tasks, perform data analysis, and create graphs using Microsoft Excel. Students will learn how to create classroom and/or instructional webpages and knowledge inquiry learning units, called web quests, via a webpage editor. Students will reinforce techniques learned in class via several projects. In addition to learning practical computer skills, students will learn about various issues concerning the effective use of computers in the classroom. Students will prepare oral presentations to share their research on topics such as digital divide, gender considerations, technology available to assist students with disabilities, quality web resources for homework help, cyber safety for children, and use of www resources in lesson planning and enrichment. Prerequisite: some word-processing skills. (C7)
Completely ONLINE.
This course is offered to non-majors as an introductory course to computer science. Number systems, hardware, software, architecture and other topics will be explored. Students will learn the fundamentals of programming using various platforms such as HTML, JavaScript, and other visual object-oriented tools. Other software may also be explored throughout the semester. Students will be expected to develop significant projects throughout the course. (C7)
This course is offered to non-majors as an introductory course to computer science. Number systems, hardware, software, architecture and other topics will be explored. Students will learn the fundamentals of programming using various platforms such as HTML, JavaScript, and other visual object-oriented tools. Other software may also be explored throughout the semester. Students will be expected to develop significant projects throughout the course. (C7)
This course is offered to non-majors as an introductory course to computer science. Number systems, hardware, software, architecture and other topics will be explored. Students will learn the fundamentals of programming using various platforms such as HTML, JavaScript, and other visual object-oriented tools. Other software may also be explored throughout the semester. Students will be expected to develop significant projects throughout the course. (C7)
This course is offered to non-majors as an introductory course to computer science. Number systems, hardware, software, architecture and other topics will be explored. Students will learn the fundamentals of programming using various platforms such as HTML, JavaScript, and other visual object-oriented tools. Other software may also be explored throughout the semester. Students will be expected to develop significant projects throughout the course. (C7)
This course is offered to non-majors as an introductory course to computer science. Number systems, hardware, software, architecture and other topics will be explored. Students will learn the fundamentals of programming using various platforms such as HTML, JavaScript, and other visual object-oriented tools. Other software may also be explored throughout the semester. Students will be expected to develop significant projects throughout the course. (C7)
This course is offered as an introductory course in Microsoft Excel. No previous experience with Microsoft Excel is required. Topics covered will include organizing data, performing calculations on data, analyzing data, working with graphics and charts, working with database data and macros, and more. Students will be expected to develop significant projects throughout the semester.
This course is offered as an introductory course in Microsoft Excel. No previous experience with Microsoft Excel is required. Topics covered will include organizing data, performing calculations on data, analyzing data, working with graphics and charts, working with database data and macros, and more. Students will be expected to develop significant projects throughout the semester.
This course is offered as an introductory course in Microsoft Excel. No previous experience with Microsoft Excel is required. Topics covered will include organizing data, performing calculations on data, analyzing data, working with graphics and charts, working with database data and macros, and more. Students will be expected to develop significant projects throughout the semester.
This course provides an introduction to computer, network and internet security for non-computer science majors. This course is intended for those with little or no background in computers. We will learn the basics of computer hardware, software, operating systems, networks and internetworks. We will study several attacks and exploits and how to protect ourselves (and our businesses) against them. (C7)
ONLINE component to course.
The goals of this course are to learn introductory programming skills and to learn how to integrate computer programming into K-6 classrooms. In recent years, excellent programming environments have been developed for K-6 classrooms. These environments include Scratch ( a programming language developed at the MIT Media Lab for elementary school/children) and Alice (a programming language developed at Carnegie-Mellon for pre-teenagers). These environments allow elementary school students to design and implement creative projects using animations, game design, music and art, learning basic programming skills visually. Students can develop story boards and illustrate mathematical and scientific concepts using these tools. Strategies to expand the use of these programming environments in public schools will also be discussed. (C7)
Students will gain familiarity with the basic building blocks of all computer programs. Important concepts will include variables, data types, input and output, math operations, programming sequence, decisions, iteration, file input and output, and functional decomposition. Time allowing, an introduction to classes or arrays may also be covered. This course is a prerequisite for most upper-level CSC courses. Successful mastery of programming concepts and skills in this course is a key predictor of success in upper-level CSC courses; thus, a minimum grade of C+ is required for progress to courses with CSC 202 as a prerequisite. Students may not take this class more than twice without faculty approval. Upon successful completion of CSC 202, students should enroll in CSC 252 Problem Solving in Java. Prerequisite: A suitable score on the math placement exam is required to enroll or CSC 111 with a grade of B or higher or CSC 112 with a grade of B or higher. (C7)
Cross-listed with CSC 522 X1 and MBA 542 X1.
Students will gain familiarity with the basic building blocks of all computer programs. Important concepts will include variables, data types, input and output, math operations, programming sequence, decisions, iteration, file input and output, and functional decomposition. Time allowing, an introduction to classes or arrays may also be covered. This course is a prerequisite for most upper-level CSC courses. Successful mastery of programming concepts and skills in this course is a key predictor of success in upper-level CSC courses; thus, a minimum grade of C+ is required for progress to courses with CSC 202 as a prerequisite. Students may not take this class more than twice without faculty approval. Upon successful completion of CSC 202, students should enroll in CSC 252 Problem Solving in Java. Prerequisite: A suitable score on the math placement exam is required to enroll or CSC 111 with a grade of B or higher or CSC 112 with a grade of B or higher. (C7)
Cross-listed with CSC 522 X2 and MBA 542 X2.
This course is the second in the three-course sequence in programming, following CSC 202, Introduction to Programming, and leading to CSC 302, Data Structures. Intermediate programming constructs are introduced. Focus topics include object-oriented design, event-driven programming, classes, methods, threads, arrays, graphical user interfaces, and elementary data structures. Problem solving and critical thinking skills are developed through a series of substantial laboratory and project experiences. Prerequisite: CSC 202 with a grade of C+ or better. Students may not take this class more than twice without faculty approval.
Cross-listed with CSC 506 X1.
This course is the second in the three-course sequence in programming, following CSC 202, Introduction to Programming, and leading to CSC 302, Data Structures. Intermediate programming constructs are introduced. Focus topics include object-oriented design, event-driven programming, classes, methods, threads, arrays, graphical user interfaces, and elementary data structures. Problem solving and critical thinking skills are developed through a series of substantial laboratory and project experiences. Prerequisite: CSC 202 with a grade of C+ or better. Students may not take this class more than twice without faculty approval.
Cross-listed with CSC 506 X2.
An introduction to logic through truth tables, informal and formal proof, mathematical induction; sets, sequences and functions; matrices; equivalence relations; Boolean algebra and Karnaugh maps. Prerequisite: MAT 180
Cross-listed with MAT 295 X1.
The descriptions, representation and manipulation of abstract data structures, including arrays, linked lists, stacks, queues, and trees. There is a strong emphasis on the use of classes for representing complex data types, using various class constructs such as overloaded operator functions and dynamic data. Advanced topics include template functions and classes, recursion, searching and sorting, and analysis of algorithms. Prerequisite: CSC 252 with a grade of C+ or better or permission of instructor. Co-requisite: CSC 295 or MAT 295.
Cross-listed with CSC 501 X1.
This course is designed to provide the necessary skills required to understand the key information security threats within an organization. These threats are becoming more sophisticated and therefore extremely hard to defend against without the proper protections in place. To effectively deter these threats an overall Cybersecurity process must encompass the development of security procedures and processes throughout the entire enterprise. This includes developing both defensive and offensive strategies. This course provides an in-depth look at techniques used to protect an enterprise against cybersecurity breaches. This includes understanding current frameworks including both the NIST Cybersecurity Framework and the Cyber Kill-Chain model. Prerequisite: CSC 202.
An introduction to database management systems. Topics include the relational data model, database design and implementation, and queries. Special attention is focused on SQL and normalization. Students will develop a significant relational database application. Other topics include functions of a database management system, database administration and data security issues. Prerequisite: CSC 202 with grade of C+ or higher, or permission of the instructor.
Cross-listed with CSC 520 X1 and MBA 540 X1.
An introduction to database management systems. Topics include the relational data model, database design and implementation, and queries. Special attention is focused on SQL and normalization. Students will develop a significant relational database application. Other topics include functions of a database management system, database administration and data security issues. Prerequisite: CSC 202 with grade of C+ or higher, or permission of the instructor.
Cross-listed with CSC 520 X2 and MBA 540 X2.
An introduction to programming on the assembly level using both complex (80x86) and simple (MIPS) instruction sets. Topics include integer and floating-point data representation, binary arithmetic, memory models, machine language and addressing modes. Prerequisite: CSC 252.
This course will provide an in-depth overview of the concepts and techniques of computer system administration. Topics will include system security, network management, user management, system services, configuration management, software management, and scripting. Prerequisite: CSC 202.
Cross-listed with CSC 538 X1.
This course is a sequel to CSC 202 Introduction to Programming course and it is intended for students who aim to enhance their experience in programming. Students will gain familiarity with file management and exceptions, lists and tuples, dictionaries and sets, extensive functionality of Python with strings and object-oriented programming in Python. Time allowing, there will be an introduction to recursion. Successful mastery of this course will give students an advantage in higher level courses that use Python as their programming language. This course will include a series of laboratory and project experiences. Prerequisite: CSC 252 with a grade of C+ or better.
Cross-listed with CSC 552 EX1.
This course allows students to hone their general programming skills while learning techniques to design and implement programs to solve a specific problem as quickly as possible. Programming in "competitive" environments, such as programming contests, is one place where such skills are especially useful. However, the same skills are valuable in many situations across a wide variety of disciplines. Students in the course are expected to complete weekly programming tasks, culminating in a local programming context where they will have a chance to compete for a spot on the school's regional programming contest team. Course may be repeated for credit. Pre-requisite: CSC 252.
First half semester course.
This course examines the concepts of modern and historical operating systems as a resource manager. Topics include multithreading, process management, CPU scheduling, process synchronization, deadlock, memory management, persistent storage management, and security. Significant programming projects using C in a Unix environment are required. Prerequisite: CSC 302, CSC 381.
Cross-listed with CSC 563 X1.
This course will expose students to both a theoretical and a practical foundation in software engineering. On the theoretical side, students will learn about the standards and methods of software engineering, including current and emerging software engineering practices and support tools. On the practical side, students will become familiar with the development of software products from an industry perspective, including generation of appropriate documents, under tight schedules and limited resources. Fulfills writing-intensive requirement. Prerequisite: CSC 302, CSC 321.
The class covers PHP, MySQL,the basics of AJAX, and the use of AJAX with XML, CSS, and dynamic HTML. We will look at existing AJAX libraries. There will be a weekly programming assignment. Prerequisite: CSC 202 with a grade of C+ or higher.
Completely ONLINE; Cross-listed with CSC 532 X1
Performance increases in modern computers no longer come from faster clock speeds. The multi-core revolution has put parallel computing on everyone's desktop, meaning parallel programming techniques are needed to take full advantage of today's computers. Parallelism complicates everything from computer hardware design to operating systems and compilers to application programming, yet it is now pervasive. This course examines methods, techniques, and languages for parallel programming, libraries and extensions to sequential languages to support parallel programming, parallel computing environments, performance analysis, efficiency and complexity of parallel algorithms, and applications of parallel computation. Prerequisite: CSC 381.
Cross-listed with CSC 561 X1
Insider threats can surface at the strategic, operational and tactical layers of an organization, and therefore, the solution needs to be comprehensive, logical and balanced. In this course, students from a variety of disciplines will become “cyber-interns” and work in teams with faculty and industry experts as mentors using an online/cloud communication platform. The goal of the course is to enable students to analyze realistic case scenarios and identify the depth and breadth of the cybersecurity challenge from multiple perspectives. Students will focus on the interrelated dimensions of the threat (which may include but are not limited to technical, procedural, legal, behavioral, skills/proficiencies) and the spectrum of the constituent cyber domains/functional areas in which to identify solutions. Fulfills writing intensive requirement.
Cross-listed with CJS 380 EX1.
A supervised internship at an organization in the private or public sector. This course provides students with the opportunity to apply their knowledge in the workplace. This course is graded on a pass/fail basis and is required for all IT majors. Prerequisite: permission of instructor / internship coordinator
PASS/FAIL ONLY. Permission of instructor required.
A supervised internship at an organization in the private or public sector. This course provides students with the opportunity to apply their knowledge in the workplace. This course is graded on a pass/fail basis and is required for all IT majors. Prerequisite: permission of instructor / internship coordinator
Students qualified for an honors research concentration in Computer Science are required to pair this course with a 3 credit independent study/research course (CSC 499). Please refer to the undergraduate catalog for more information regarding the necessary requirements for the honors concentration. Must meet the minimum requirements for honors research, permission of instructor, and CSC 499 (as co-requisite).
Permission of instructor required.
Independent Study Application Required