COMPUTER SCI & INFO TECHNOLOGY (CST)
CST 100 - ESSENTIAL COMPUTER SKILLS
Basic hardware and software components of a PC; several of the most popular PC software applications including word processing, electronic spreadsheets, databases, Power Point, Internet Browsers, and Windows. A computer use course.
CST 101 - BEYOND PC ESSENTIALS
This course covers several interesting topics for students: Essential Computer Concepts; Internet/Browsers; Windows; MS-Office; Web design; EBay; Windows Movie Maker; Photo Gallery; Simple Programming; and Publisher. In addition there is a field trip and discussion of Emerging Technologies.
CST 110 - QUANT PROB SOLV
Students will use Excel as a tool to solve problems which include critical thinking and problem-solving skills that are necessary for decision-making in everyday life. The emphasis is on applying quantitative reasoning skills to realistic personal and business scenarios. Students will become effective users of information technology through the use of spreadsheet and graphical representation of data and will apply this technology to personal, academic, and professional settings. (Fulfills General Education analytical reasoning requirement)
CST 130 - PROGRAMMING FOR NON-COMPUTER SCIENCE MAJORS
Computer programs for non-specialists in an easy programming language. Emphasis on style, structure, and logic. Hands-on work in a computer lab.
CST 150 - COMPUTER SCIENCE I
General problem solving and the algorithm development process. Primitive & reference data types, control structures (sequence, selection, & iteration), OOP fundamentals, methods, functions, file processing, GUI apps, and multidimensional arrays. Concepts of top-down program design, testing, functional decomposition, and documentation using good programming style. Extensive programming required utilizing a higher level language such as C++ or Java. A computer use course.
CST 208 - DATA BASE PROG
This is an in-depth course of the principles of database systems and management. This course will focus on the development of hands-on skills using SQL. Students will modify file structures, sort and query data, and generate forms, screens and reports. Data structures and programming techniques will be incorporated throughout the course.
CST 209 - SPECIAL TOPICS IN COMPUTER SCIENCE AND INFORMATION TECHNOLOGY
Special Topics in Computer Science and Information Technology. Topics may vary. See red CRN on course schedule for term specific information.
Course Notes: or higher.
CST 220 - OPERATING SYST
This course surveys personal computer operating systems (Windows 7, 8) and provides an introduction to networking technology. Topics include file system design and management, installation and upgrade of operating systems, input/output devices, and networking devices and topologies. The course employs a computer troubleshooting approach in the instructional methodology. (Prerequisite: CIS 240 or concurrent)
CST 232 - LAN
This course will provide a theoretical and practical guidance to Local Area Networking using Windows 2016 Server software. The student will focus on installing, configuring, managing and troubleshooting the Windows the 2016 environment. Network hardware requirements will be discussed. Included are client server software installation, active directory set-up, network security, client account creation, and installation of print services. The student will learn to monitor and optimize the system for best performance. All concepts are introduced in both lecture and hands-on laboratory exercises.
CST 236 - PYTHON SCRIPT PROGRAMMING
Using the Python programming language to learn the best-practices of programming and script-writing in a security and utility conscious environment.
CST 237 - INTERNETWORKING
This course is the second course in Local Area Networks. It will provide theoretical and practical guidance to Local area networking using Windows Server 2016 software. The student will focus on the skills that are required to configure and manage identity with Windows Server 2016. Students will gain in-depth knowledge of Windows Server 2016 identity-related services, including Active Directory, user and group accounts, Group Policy, Active Directory Certificate Services, and advanced identity solutions such as Active Directory Federation Services and Active Directory Rights Management Services. (Prerequisite: CIS 232)
Prerequisites: CIS 232
CST 240 - SYSTEMS ENGINEERING I
This course is a study of microcomputers and their various architectures. It encompasses many of the basic principles necessary to begin preparing for Comp TIA’s A+ certification examination. Hardware design fundamentals and hardware/software interrelationships are combined with practical hands-on experience to give the student a thorough understanding of the basic platforms pertaining to the IBM compatible/clone computer.
CST 244 - SECURITY FUNDAMENTALS
This course provides a comprehensive introduction to computer and network security. The course covers basic security principles including a detailed discussion of security attack techniques and security defense technologies. Hands-on exercises are designed to apply defensive tactics to harden a company’s servers and workstations (Windows 2016 Server and Windows 7, 8). Students learn cryptography and employ PKI (public key cryptography) to thwart attacks. The course topics are mapped to the Security+ certification.
CST 250 - COMPUTER SCIENCE II
Continuation of CST l50; development of problem solving using a high level language including abstract data types, inheritance, recursion, generics, lists, sets, maps, stacks, queues, trees and file I/O. Multiple sorting and searching algorithms including an introduction to concepts of program complexity. Extensive programming required. A computer use course.
Course Notes: MATH 245 recommended. A computer use course.
CST 255 - OPEN SOURCE COMMUNITIES
Exploration of the Open Source world, its history, and its contribution to current topics such as social justice, information freedom, equality and the nature of democracy. Discussion of the role it has played in recent events. Investigation of the politics of the open source world and their relationship to traditional geopolitics. In addition, this course will also seriously examine the practical side of open source and its economic impact on both businesses and households in the developed and developing worlds.
Attributes: Grounds for Change
Prerequisites: ENG 102
CST 261 - COMPUTER ORG & ASSEMBLER
Introduction to computer hardware structure using assembler language. Internal hardware and software structure of a CPU that is normally hidden from programmers using a high level language. Extensive programming in the assembler language of the CPU. A computer use course.
CST 262 - LINUX SECURITY
This is a second course in the Linux operating system. The focus is on the administration tasks associated with adding security to Linux servers. Lab exercises include creating user accounts, setting file permissions, configuring the Apache web server for security, and configuring Samba file sharing for security. Security fundamentals are covered, including encryption and authentication. (Prerequisite: CIS 261)
Prerequisites: CIS 261 or CST 318
CST 265 - ROUTING AND SWITCHING
This course focuses on initial programming of routers and switches. The course begins with IP sub-netting calculations using binary math. Basic switching concepts are then described in detail. Switch VLANs are created and programmed, and inter-VLAN routing is configured. Static routing is configured on routers using both IP versions 4 and 6. (Prerequisite: CIS 264)
Prerequisites: CIS 264 or CST 301
CST 266 - ROUTER CONFIG
This course focuses on dynamic routing protocol categorization – Interior/Exterior, Classful/Classless, Distance Vector/Link State, and Open Standard/Cisco Proprietary. Router configuration lab exercises are conducted using the RIP and OSPF routing protocols. Router Access Control Lists (ACLs) for security policy implementation are applied. IP address management with DHCP and NAT are employed. (Prerequisite: CIS 265)
Prerequisites: CIS 265
CST 270 - SYSTEMS ANALYSIS AND DESIGN
Methodologies, tools, and techniques used in the computer systems development life cycle. Planning, analysis, and design phases of a project, including Software Engineering methodologies. The larger context of business processes, competitive advantage, documentation requirements, and data modeling, including the use of UML.
CST 280 - INTRODUCTION TO ALGORITHMS
The course focuses on basic techniques used to design and analyze efficient algorithms. The major topics include: the divide-and-conquer approach, sorting algorithms, graph algorithms, the greedy approach, dynamic programming, computational complexity.
CST 301 - COMPUTER NETWORKING
This is an introductory course on the design and analysis of computer networks. It covers Internet protocols, application layer protocols, routing, wireless communication, and basic network security problems.
CST 309 - DATA MINING
Methods of knowledge discovery in massive data, i.e. the study of computer-assisted process of digging through and analyzing enormous data sets and then extracting the ‘meaning’ of the data by applying mathematical methods. The methods that we study in this course are designed to predict behaviors and future trends based on existing data. Topics include classifications techniques, clusterization techniques, association rule discovery techniques, techniques for improving data quality.
CST 310 - GAME THEORY AND APPLICATIONS
DocuSign Envelope ID: 71194FEB-98FD-47BA-9A91-23618ECB3607 Study of the ways in which strategic interactions among players produce outcomes with respect to their preferences (or utilities). This course covers game-theoretic foundations of cooperative and non-cooperative behavior. The course emphasizes applications drawn from artificial intelligence, decision theory, economics, psychology, and finance.
CST 311 - ANALYSIS OF REAL WORLD NETWORKS
The study of real-world networks such as social networks, technological networks, networks of information, biological networks. This study combines methods and techniques from mathematics, computer science, social sciences, and many other areas. Course topics include the measurement of networks, methods for analyzing network data, models of networks, models of processes taking place on networks, etc.
Prerequisites: MATH 245
CST 312 - BIG DATA
Coverage of approaches and methods for very large-scale data collections (Big Data). Also covers the place of Big Data in society and in business including economic, social, ethical and cultural implications. Students will learn to use map-reduce workflows and Big Data tools such as the Hadoop ecosphere.
Course Notes: A computer use course. Broadband Internet required.
CST 315 - DATABASE MANAGEMENT
This course will focus on all aspects of managing a database, including database installation, configuration and administration, data warehousing, performance issues, database security, database architecture and disaster recovery operations. Students will install Microsoft SQL Server client-server software on Windows Server. (Prerequisites: CIS 208 or CIS 308)
CST 317 - OPERATING SYSTEMS
An in-depth study of the components and functions of computer operating systems. Topics include system services, file system management, memory management, resource allocation, scheduling, processing levels, multitasking, deadlocks, and interprocess protection mechanisms. Programming projects involve use of system calls in UNIX and Windows. A computer use course.
CST 317R - CREATING IPHONE APPS
This course introduces mobile application programming environment using Apple’s iOS SDK for building iPhone applications. Students will learn the Swift programming language along with necessary libraries of reusable software components to develop and deploy iPhone applications. Upon course completion, students will be able to write simple iPhone applications. (Prerequisite: CIS 318 recommended)
CST 318 - INTRODUCTION TO UNIX
A hands-on introduction to the UNIX operating system family focused on learning important UNIX concepts, such as the shell, command line utilities, file system, access control/permissions, process management, and networking, as well as learning to automate system administration tasks through programming with the shell and in Perl.
CST 318R - IPHONE APP DEV
Students are introduced to iPhone SDK’s Xcode, Interface Builder, and UIKit framework to build iPhone applications. Students will learn to use powerful features of the Swift, Cocoa Touch, and the various iOS SDK libraries and frameworks for developing and deploying applications on iPhone. Upon course completion, students are expected to produce a mobile solution for a real-life solution. (Prerequisite: CIS 417)
Prerequisites: CST 317R
CST 318RM - JAVA PROGRAMNG
This course introduces fundamentals of Java programming language to create Android applications. Students will learn key programming concepts including variables, decision structures, lists, arrays, user interface components, error handling, testing and debugging. The course provides students hands-on experience in using Android development environment and techniques for writing Android applications. Upon course completion, students will be able to write simple android applications.
CST 320 - INDEPENDENT STUDY
Independent studies allow a student to explore a topic or area of interest. Students will propose a topic for tutorial study under the guidance of a supervising faculty member. Course can be repeated up to 12 hours.
CST 327 - SOFTWARE PROJECT MANAGEMENT
Types of problems, decisions, and critical success factors that typically confront software project managers and software engineers. The various management skills and methodologies used for planning, organizing, staffing, influencing, and controlling such projects.
CST 328 - LINEAR PROGRAM & OPTIMIZATION
Models of optimization with linear constraints and objectives; simplex method and related algorithms; duality and sensitivity; transportation and assignment problems; games and network flow applications. See Math 328.
CST 333 - DATABASE SYSTEMS
Theory and practice of databases with emphasis on how to create, maintain, and query a database with SQL. Course topics include the relational model, queries and data manipulation in SQL, integrity constraints, triggers, recursive queries, functional dependencies and normalization, indexing, etc.
Course Notes: MATH 245 Recommended
CST 335 - ETHICAL HACKING & COUNTERMEASURES
This is a hands-on Cyber Security course that will prepare students for the Certified Ethical Hacker certification. The course is an introduction to ethical hacking tools and incident handling. Areas of instruction include various security tools and vulnerabilities of operating systems, software and networks used by different type of hackers to access unauthorized information. This course also addresses incident handling techniques used when information security is compromised.
CST 336 - PRACTICAL COMPUTING WITH DATA IN PYTHON
Focuses on using a simple programming language python to work with data when Excel, SPSS and similar tools are not adequate. When tables are too big or the desired result is difficult or impossible to express in terms of formulas, using python can be the quickest, easiest and most productive way to derive value from data in a scientific or enterprise setting. This course provides the skills and understanding required to succeed in these situations.
Course Notes: Computer programming experience not required.
CST 337 - THEORY OF COMPUTATION
Fundamentals of computing with emphasis on questions of what can and cannot be computed in principle, what can and cannot be computed efficiently. Course topics include models of computation, decidable and undecidable problems, computational complexity, probabilistic computation, interactive protocols, quantum computation, etc.
CST 338 - EFFICIENT COMPUTING
This course is about algorithmic techniques for solving computational problems efficiently and about obstacles to efficient computing. The major topics include approximation algorithms and randomized computation.
Prerequisites: CST 280
CST 340 - COMPUTER ARCHITECTURE
Internal organization of the components of computer systems with special focus on the design of the central processing unit and the internal hardware and software structure of a CPU that is normally hidden from programmers using a high level language. The construction of a rudimentary computer using logic gates, light emitting diodes(LEDs), resistors, capacitors, and push-button switches on a prototyping circuit board and the programming of that computer in the assembler language of the CPU constructed is required.
CST 343 - O.O.P AND WEB SERVICES
An extensive course in programming emphasizing the development of reusable software components via the object oriented programming (OOP) capabilities of C# and the Microsoft .NET framework. Topics include user interface controls, exception handling classes, function overloading and default arguments, operator overloading; event driven programming, polymorphism; and UML. Extensive programming required.
CST 343R - WIRELESS TECH
This course explores the latest wireless technologies in the networking industry. Currently, this includes, Wireless LAN 802.11a/b/g/n, Bluetooth, Cellular, IR, microwave, satellite, and WiMax. An important aspect of this study is wireless security implemented through the standards of 802.1 1i (advanced cryptography) and 802.1x (RADIUS). Students receive both historical coverage and future expectations through personal research and practical laboratory experiments. A business perspective illustrates how these concepts relate to real-world personal and corporate networks.
CST 345R - ADV NET SERV
In this course, students will study a set of advanced network services that are used to support core business functions. Examples of such services include email, firewalls, and voice over IP. These services go beyond the range of essential network services covered in previous networking courses. (Prerequisite: CIS 232)
Prerequisites: CIS 232
CST 347 - NETWORK MGT
This course focuses on network management, server virtualization, and specialized server hardware. The servers will employ the Windows Server 2008 and Linux operating systems. Clients will employ the Vista and Linux operating systems. Virtualization software will include VMWARE and Windows Server 2008 Hyper-V Virtual machine manager. Lab setup will include Blade server hardware, wireless routers and access points, switches and printers with network monitoring agents, and specialized network management software. Green technologies for IT are addressed. (Prerequisites: CIS 232, CIS 261, CIS 264)
Prerequisites: CIS 232 and CIS 261 and CIS 264
CST 348 - SOFTWARE ENGINEERING I
Provides an overview of the software engineering process and software life-cycle models. Gives a detailed study of the analysis, specification and design phases. Students will work in teams to gain experience in software development methodology, software analysis and design, and developing a prototype.
CST 350 - BOOLEAN ALGEBRA/SWITCHING THEORY
Logic gates and Boolean algebras. Fundamental building blocks of :flip-flops, counters and registers. Logic expressions, minimization. Digital arithmetic. See Math 350.
CST 355 - CRYPTOGRAPHY
Cryptography provides algorithms and protocols for secure communication over an insecure channel. These tools are also used in many other aspects of information security such as access control or digital signature. Cryptography plays a crucial role in a wide scope of real-world applications, from the classical military and national security applications to email and online banking. The course focuses on concepts and techniques underlying public-key cryptography. Course topics include symmetric cryptosystems, RSA and other public-key cryptosystems, digital signatures, key exchange protocols, secret sharing, identification schemes, etc.
CST 356R - ADV INTERNSHIP
Students serve as interns and apply their skills in real-world employment situations. All internships are project-oriented and directly related to their focus in Computer Studies. Internships are served under the sponsorship of a faculty advisor, and the students will be required to document the results of their experience. (Prerequisite: Junior status) Course can be repeated up to 12 hours.
CST 357 - SYSTEMS PROGRAMMING
Introduction to programming at the system level. Programming methods and issues that are specific to working with the operating system. Topics include process, thread model, synchronous and asynchronous event handling, IPC, RPCs and sockets, and distributed applications. Course includes learning to program with JAVA in UNIX and Windows environments. A computer use course.
CST 359 - INTRO TO COMPUTER SECURITY
This course provides an introduction to computer and network security. It covers the basic concepts in computer and network security. The course also provides examples of intrusions and corresponding defense. Some topics in security research will be covered.
Attributes: Lab Course
Course Notes: or instructor consent.
CST 361 - MACHINE LEARNING
A course in the theory, algorithms and application of Machine Learning (ML). The course will cover areas such as the foundations of ML (Computational Learning Theory) and the analysis of algorithms by which computational systems learn to perform tasks. Implementation of several ML techniques will enhance the student's understanding of the underlying material.
Prerequisites: CST 352
CST 364 - ADV ROUT&SWITCH
This course covers advanced router and switch configuration. Advanced switching features include link aggregation, redundancy, and wireless LANs. Advanced routing configuration focuses on Cisco’s enhanced EIGRP routing protocol. Complex multi-area OSPF routing is also explored. At the end of the course, operating system management procedures are employed to troubleshoot or upgrade the routers and switches. (Prerequisite: CIS 266)
Prerequisites: CIS 266
CST 365 - NETWORK APPLICATIONS PROGRAM
Design and programming applications for networks and the Internet; client side and server side processing; the use of a browser as a client and user interface. Internet protocols and issues such as security, reliability, and management. Course includes learning to program with JAVA in UNIX and Windows environments. A computer use course.
CST 366R - WAN Technologies
This course focuses on the Hierarchical Design of a complex corporate network. Wide Area Networking (WAN) services are configured. The WAN services studied include the Point-to-Point Protocol (PPP), Frame Relay, Broadband, and Virtual Private Networks. This course is the last of five courses preparing students to achieve their Cisco CCNA networking certification. (Prerequisite: CIS 364)
Prerequisites: CIS 364
CST 367 - WEB-BASE DATABASE APPLICATIONS
Interactive web-based applications that use one or several databases with a focus on reliability, fault tolerance, and security. Theoretical and project oriented.
Course Notes: Any 200 level programming course.
Prereq: Cst 333 or working knowledge of database design and SQL.
CST 368 - INTERNET SECURITY
Security issues pertaining to Internet, intranet, and the Web. Web security from the point of view of the user, programmer, and system administrator. HTTP authentication, proxy servers and firewalls; Internet security protocols and Secure Socket Layer; electronic payment systems; certificate management and network access layer security; executable content and scripting languages; mobile code and copyrights. Privacy protection; legal and ethical issues; anonymous browsing and censorship; available security tools.
CST 369 - SMARTPHONE APP DEVELOPMENT
An advanced programming course emphasizing the development of real-world, interactive, data-driven mobile applications using open-source frameworks designed for platforms such as iPhones or Android smartphones. The course will be project oriented and topics include building smartphone user interfaces, working with multimedia, accessing databases, using Internet and location based services, and using other features of modern smartphones.
CST 371 - DISTRIBUTED DATABASES
Use of multiple, physically and logically separate databases. Data modeling, horizontal and vertical fragmentation, distributed query processing, concurrency, deadlocks, and recovery techniques. Heterogeneous and object-oriented databases.
Prerequisites: 9 Credit Hours of Computer Sci
Course Notes: 9 SH of computer science coursework required with a min, grade of C-.
CST 372 - PROGRAMMING LANGUAGES
Global properties of algorithmic languages including scope of declarations, storage allocation, binding time of constituents, subroutines, and tasks. List processing, string manipulation, data description, and simulation languages.
CST 376 - DISTRIBUTED APPLICATIONS
Advanced topic in network applications. Use of existing protocols as well as technologies for designing custom protocols; chat, instant messaging, file sharing, and other technologies. Course includes learning to program with JAVA in UNIX and Windows environments. A computer use course.
CST 377 - DB SERVER ADMIN & SECURITY
This class will focus on the administration of database severs and the concerns of the Database Administrator such as configurations, user controls, backup plans, restoration plans, downtime costs, audits, resiliency, stability and reliability, security, joins, load and cascading foreign keys, should I (kNOw)Sql? and other issues that face the database administrator.
CST 378 - SOFTWARE ENGINEERING II
Students work in teams to gain experience in software management and develop the components of a larger software product. Topics include risk management, project planning, quality management, configuration management and software testing.
Prerequisites: CST 348
Course Notes: This course replaces existing CST 370 Software Engineering I, Student who has taken CST 370 cannot receive credit from, this course. Seniors only.
CST 380 - PATTERN RECOGNITION
We study algorithmic methods of identifying patterns and regularities in data. Different approaches are based on statistical, structural and template matching methods data analysis.
CST 381 - INTELLIGENT SYSTEMS
We study automated search methods in constrained state spaces. We learn methods of blind, heuristic and local search and methods that involve applications of of mathematical logic. We proceed to solving constraint satisfaction problems, planning and scheduling. Applications to multiagent systems and robotics. The course has programming component.
Prerequisites: CST 280
CST 382 - COMPUTER GRAPHICS
Representation, manipulation, and display of two- and three- dimensional objects. Applications to specific problems, including computer games.
Course Notes: or instructor consent.
CST 386 - INFORMATION RETRIEVAL
Theory and practice of information retrieval with emphasis on applications to web search. The course covers traditional information retrieval topics (retrieval models, indexing, classification, clustering, etc) and more recent techniques (ranking of web pages, recommender systems, etc).
CST 387 - ALGORITHM DESIGN
The main purpose of the course is to enhance students’ algorithmic skills. Algorithmic problems, arising across the full range of computing applications, include the following two tasks. First, such a problem rarely arrives as a cleanly packaged, mathematically precise question. Therefore, we begin an algorithm design process with getting to a clean formulation of the problem. Then, based on the structure of the problem, we identify an appropriate algorithmic technique and use it to develop an efficient algorithm. Students will enhance their skills for both tasks by learning a wide variety of algorithmic problems in business, engineering, science, etc.
Prerequisites: CST 280
CST 390 - SPECIAL TOPICS
CST 390R - TECHNOLOGY MKT
CST 394 - COMPUTER SCIENCE INTERNSHIP
In-service learning under faculty supervision.
Prerequisites: CST 354
Course Notes: Consent of Faculty Supervisor required
CST 395 - INDEPENDENT STUDY
Students must obtain a faculty sponsor; prepare a written proposal that includes course objectives, time tables, and measurable evaluation criteria; and receive approval from both the faculty sponsor and chair of the dept.
Course Notes: Approval of faculty sponsor and Department Chair.
CST 399 - SENIOR PROJECT
Project to be undertaken at the end of the program of study. Students must obtain a faculty sponsor; prepare a written proposal that includes course objectives, time tables, and measurable evaluation criteria; and receive approval from both the faculty sponsor and director of the department.
Course Notes: Approval of faculty sponsor and Department Chair.