COMP.1130 Exploring the Internet (3cr)
An introduction to internet technologies and how they intersect with social, political, and economic issues. Includes: the history of the internet, how it's presently managed, how information is transferred between servers and clients, collaborative web technologies, search engines, encryption, digital rights management, certificate authorities, phishing and other malware, and privacy concerns. Students will build a basic website using HTML and CSS.
Notes:
Non-CS Majors only
Requirements:
Not for CS majors
INFO.1710 Applications Software: Microsoft Access (3cr)
This introductory course is intended to teach students how to create and manipulate database files using Microsoft Access. Students will learn about database management, relational databases, and the issues that must be considered before creating a database. They will learn how to create a database file with tables, queries, forms and reports. Topics include entering and editing data; sorting, filtering and printing records; extracting information with different types of queries; designing and customizing forms and reports; creating charts and pivot tables; and customizing Access. In addition, they will learn how to use macros to automate a database, and how to exchange Access data with other applications.
Requirements:
Requires MS Access 2016; Windows based
INFO.1800 Applications Software: Microsoft Excel (3cr)
This course will look at all the features of Excel that make it the powerful business tool that it is. The following topics will be discussed: the basics of workbooks and worksheets, including worksheet concepts and terminology; creating a workbook file with arithmetic and function formulas; editing and formatting features that are available for manipulating the data in a worksheet; printing and page setup issues; creating charts to graphically represent worksheet data; and exploring the ways in which Excel can be used for list management purposes. In addition, students will learn the tips, tricks and shortcuts that are available in Excel for doing things efficiently; for example, advanced formulas, including links and What If? analysis; Excel¿s statistical, lookup, time and date, and IF functions. Students will explore a number of the powerful ways in which they can summarize worksheet data in Excel: those include outlining, consolidation, and pivot tables; creating macros in Excel using Visual Basic for Applications, to automate reports and eliminate redundancy in worksheet creation and manipulation.
Requirements:
INFO.2020 or equivalent; requires MS Excel® 2016; Windows based
INFO.2020 Microsoft Office (3cr)
This is an intensive hands-on course intended to teach the student basic personal computer skills in a lecture/lab format using MS Office. The student will learn the fundamental concepts of word processing, spreadsheets, and presentation development.
Requirements:
Requires MS Office 2016; Windows based
INFO.2030 Introduction to Programming with Python (3cr)
This course examines the fundamentals of computer programming while using the Python programming language. Python is a popular scripting language that is commonly used for a myriad of applications including machine learning, scientific computing, scripting, web applications, and data processing. Course topics will include programming fundamentals, such as Boolean logic, program organization, input and output, and loops. We'll cover the syntax of Python (the rules that govern the language) as well as industry standards best practices.
INFO.2200 Visual Basic (3cr)
This course will focus on developing Windows-based programs using the Visual Basic programming environment. Topics covered will include the use of text boxes, labels, scroll bars, menus, buttons, and the Windows applications. Students should be familiar with the Windows environment and with at least one programming language prior to taking this course.
Notes:
This course qualifies for free
MSDNA software!
INFO.2250 Survey of Programming Languages (3cr)
Introduces students to various topics in Information Technology to provide an overview of what is available and used in the technology world today. Topics include Functional, Object Oriented, and Scripting languages (C, C++/Java, C#, Perl/Python, Shell), Database Management Technologies, (SQL, Oracle, MySQL), Web Server deployment options (UNIX, LINUX, Apache, ASP.net) and Web Site Design and Development (JavaScript, AJAX, XML, HTML). Students should have a working knowledge of at least one high-level programming language.
Requirements:
Working knowledge of at least one higher level programming language; requires ANSI C/C++ standard compiler
INFO.2260 Intro to Blockchain Technology and Applications (3cr)
Blockchain is an emerging technology that can radically improve security in banking, supply chain, and other transaction networks. This course explores the fundamentals and applications of blockchain technology. Students will learn about the decentralized peer-to -peer network, distributed ledger, and trust model that define blockchain technology. We will examine the basic components of blockchain, its operations, underlying algorithms, and the essentials of trust. By the end of the course, students will understand the inner workings and applications of this disruptive technology and its potential impact on all aspects of the business world and society.
INFO.2300 Introduction to Multimedia (3cr)
Provides participants with an overview of multimedia and its professional applications in training, education, marketing, and entertainment. Scanning images, digitizing video and audio, and exploring the design and production of interactive multimedia are the focus of this class. Includes technical/hardware considerations and production procedures pertinent to interactive multimedia.
INFO.2310 Graphics for Multimedia and the World Wide Web (3cr)
The focus of this class is on the basic components of shape, color, texture, typography, and images as they are applied to multimedia and web interface design. Other topics covered include scanning, image editing, resolution and color palettes. Students will work on projects that integrate elements such as buttons, navigation bars, and background images to communicate creative visual information. Photoshop will be used.
Notes:
Formerly Graphics for Multimedia
Requirements:
INFO.2300
INFO.2380 Website Development (3cr)
This course focuses on the design, development, and implementation of websites using available visual development tools. Each participant will design, build, and maintain their own websites. Topics covered include: basic navigational structure; page layout incorporating tables and frames; graphical design and placement; image maps; streaming audio and video; and basic website administration.
Notes:
Requires Adobe Dreamweaver software.
Requirements:
INFO.2910
INFO.2480 Website Database Implementation (3cr)
It is almost impossible to think about creating any sort of modern web site or application without the use of databases and at least a cursory knowledge of how they work. Almost everything online uses a database at some level whether it is an ultra-complex system such as Facebook or Amazon.com, a prepackaged tool such as Drupal or Wordpress, or a relatively simple site which requires a log on to gain access to some content. This course is designed to provide a straightforward but comprehensive overview of what these systems are, how they work, and how they can be incorporated into your projects.
INFO.2500 E-Commerce (3cr)
Today, e-commerce has become the platform for media and new, unique services and capabilities driven by Internet technology, including developments in security and payment systems, marketing strategies and advertising, financial applications, media distribution, business-to-business trade, and retail e-commerce. This course provides an in-depth overview of the challenges and realities behind the planning, creation and maintenance of online businesses. While this curriculum doesn't include creating an online business directly, each student will learn what options are available to entrepreneurs looking to start a business online and what challenges and pitfalls may await. Students will learn about the mobile digital platform, the emergence of cloud computing, new open source software tools.
INFO.2670 C Programming (3cr)
Introduces students to the techniques of programming in C. The language syntax, semantics, its applications, and the portable library are covered. This course is an introductory course in programming. It does not assume previous programming experience.
Notes:
Students may not receive credit for both the
INFO.2110/INFO.2120 sequence and INFO.2670
This course qualifies for
free MSDNA software!
INFO.2680 C++ Programming (3cr)
This course will cover the C++ language and show the student how to use the language. We will cover class construction, operator overloading, virtual functions, templates, and introduce the student to the IO streams. Inheritance and its use in creating extendible libraries will be presented. Object-oriented concepts will be presented in the context of the C++ language and its support for object-oriented programming.
Notes:
This course qualifies for
free MSDNA software!
Requirements:
P: INFO.2670 or INFO.2120; requires C++ compiler software
INFO.2710 C# Programming (3cr)
In this course, we will explore the C# language paradigm. Our goal will be to understand the basic language syntax from its type system to its class structure. We will begin with topics on Classes, interfaces, methods, enumeration's, and access modifiers. Once we have mastered the fundamentals, we will extend our knowledge in areas such as the use of delegates, events, lambda expressions and exception handling.
Notes:
This course qualifies for
free MSDNA software!
Requirements:
INFO.2680 or INFO.3010
INFO.2750 Introduction to Networking (3cr)
This course will provide a general understanding of the theoretical and practical aspects of data and computer communications. It will introduce principles of computer networks, with a special focus on the Internet architecture and protocols. Topics include layered network architectures, network topologies, addressing, naming, forwarding, routing, etc.
INFO.2785 Introduction to Operating Systems (3cr)
This course introduces and develops the major components of operating systems, including the process and thread abstractions, concurrency and synchronization mechanisms, deadlock management strategies, processor allocation, memory management, I/O device and file management, and system virtualization. The course also presents techniques for operating system design, implementation, and evaluation. The principal demonstration system will be Linux, and several system utilities will be introduced to highlight the functional deployment of the core OS issues discussed.
Requirements:
INFO.1600 Introduction to Information Systems, and INFO.2670 C Programming.
INFO.2810 Introduction to the Internet of Things (3cr)
This course explores many aspects of The Internet of Things (IoT), including foundations, architectures, components, applications, and challenges. Students will learn about the advantages of IoT, Fog Computing, and the use of Al and Blockchain Technologies in IoT. The future of IoT will be examined. Real-world examples and cases, such as smart homes, smart cars, and smart cities will be discussed.
INFO.2820 Python Programming (3cr)
This course introduces the fundamentals of Python including data types, expressions, control structures, file input and output, lists, dictionaries, functions, object oriented program design, simple graphics development, and the development of Graphical User Interfaces (GUIs) in Python. Students will problem solve, explore real-world software development challenges, and create practical and contemporary applications. This course assumes previous programming experience.
INFO.2910 Introduction to HTML (3cr)
This course is designed to teach you how to code cutting-edge web pages using the new HTML5 tags; We will introduce you to HTML5 web forms, and explain how to use them; We'll discover how to add multimedia content and how to use the Canvas element to draw shapes complete with fills, color strokes, gradients, and more; You'll learn how to combine the powerful styling and animation capabilities of CCS3 to enhance your web pages, and work with the technologies of HTML5 to make building web applications easier than ever.
INFO.2930 Data analysis and Visualization with Python (3cr)
this course explores how Python can be used to analyze and visualize data using key features of the Python language as well as the Pandas, Numpy, and other data analysis libraries. Course topics include data exploration, data cleaning, working with timeseries data, data interpretation, data aggregation, data visualization and data modeling.
INFO.2950 Principles of Information Security (3cr)
This course will present an overview of the issues related to information security from a computer and computer network perspective. We will cover the threats to the information security infrastructure with a focus on the detection and prevention of them. We will discuss protection of PCs, servers, associated computer services (e.g. network, browsers) and data (e.g. file systems, email) through a "defense in depth" or "layered" and most recent "Zero Trust" approach. Topics will include security management and risk assessment; software security; operating systems security; database security; cryptography algorithms and protocols; network authentication and secure network applications; malicious malware. This course will also help understanding legal, ethical issues and privacy. Anti-Req INFO.3850. Students cannot get credit for both INFO.2950 or INFO.3850.
Requirements:
INFO.2750 Introduction to Networking.
INFO.2970 Introduction to Java Programming (3cr)
This course introduces students to object oriented programming with Java(TM). Basic concepts are introduced early, with a strong focus on classes. Additional topics include event driven (Windows) programming and object-oriented design. Note that this is not an introductory course to programming - Students are expected to have a working knowledge of a least one high-level programming and/or scripting language (or equivalent experience) and basic familiarity with programming (using a text editor, etc). However, it will teach some basic programming concepts during the first few weeks. Previous programming experience required. Requires the Sun Java(TM) Development Kit.
Requirements:
Previous programming experience required; requires J2SE Development Kit (JDK) 6.0 or higher
INFO.3010 JAVA Programming (3cr)
The JAVA (TM) programming language is now being used to write distributed Internet applications. Unlike traditional languages, the JAVA (TM) language was designed to be used on a network. Thus, it contains features needed to build efficient distributed applications that employ Internet resources. Those who intend to design World Wide Web information systems that fully utilize the Internet must have a working knowledge of this vital technology. This course allows students to explore features that set JAVA (TM) apart from traditional programming languages; obtain an overview of object-oriented design as it applies to JAVA (TM); learn about the fundamental constructs of the JAVA (TM) programming language; and write, compile, and include simple JAVA (TM) Applets within the content of HTML documents.
Requirements:
INFO.2970 or INFO.2680; requires Sun Java Dev. Kit
INFO.3020 JavaScript (3cr)
An introductory course designed for the student who has mastered HTML and would like to add interactivity to his or her web sites. Topics covered include basic JavaScript programming, creating interactive forms, using frames and cookies, working with graphics and multimedia. Students will incorporate various JavaScript programs to their existing website.
Requirements:
INFO.2910 or knowledge of HTML
INFO.3030 Advanced Java Programming (3cr)
Java is one of the mostly widely used languages for all kinds of software development. It continues to play a dominant role in Internet application development. It is well suited for developing applications for the enterprise, and in particular, client server solutions such as web applications. This course will cover the advanced aspects of the Java programming language which are required for successful development of sophisticated applications. Topics covered in this class include: effective use of the Java language, annotations, database connectivity (JDBC) and relational mapping, XML processing (JAXB), generics, multithreading, network programming, Java Server Pages (JSP) and servlets, Design Pattern, and building and testing Java programs. Java 8 features will be introduced.
INFO.3050 Survey of Perl/Python/PHP (3cr)
The goal of this course is to provide an in-depth introduction to the Python programming language followed by an introduction to both the Perl and PHP. All of these languages share common functionality and are tools commonly used to solve similar problems, but each embodies a different philosophy and approach to solving those problems. After a thorough grounding in the language's basics, we'll explore their similarities, and, more importantly, their differences. By the end of the course, its' hoped, you'll have a good idea which of these tools is right for you and the kind of applications you wish to develop with them.
INFO.3060 Introduction to XML (3cr)
XML (eXtensible Markup Language) picks up where HTML leaves off. If you've studied HTML, you've learned the Web's formatting language. To structure content on the Web, you will need to learn XML. In this introductory course, you will learn basics of XML and the DTD (Document Type Definition), XSL (the style sheet for XML), and CDF (Channel Definition Format) commonly used in push technology.
Requirements:
INFO.2910
INFO.3070 Introduction to Cloud Computing (3cr)
This course explores the services offered by major cloud services providers: Amazon, Google, and Microsoft. It introduces the core concepts of Cloud Computing with an overview of services these platforms offer. The course gives a cost-benefit analysis in comparison to more traditional models along with a detailed comparison of the providers. Event Driven Serverless Architecture and FAAS (Function As A Service) is presented with a hands-on coding exercises of creating students' own RESTful endpoints that cal non-trivial functions (AWS Lambdas/Cloud Functions) that communicate with an RDS (relational database systems). The role and importance "DevOps" is made apparent with the introduction of such tools as Ansible, Terraform and CloudFormation.
Requirements:
INFO.2030 Intro Programming with Python, and
Co-req: INFO.2910 Introduction to HTML, or
Permission of Instructor.
INFO.3085 Introduction to Data Mining (3cr)
Today, we are surrounded by data science applications. Smartphone and sensor data, medical and scientific data, financial data, web and text data, and social network data are just a few examples. As a result, mining useful information and discovering knowledge from such data are increasingly important. It is fair to say that, without data mining, we would not be able to make good use of this large amount of data. In this course, we learn the state-of-the-art techniques in data mining and analysis. Topics include types and properties of data, exploring data, classification, association analysis, cluster analysis, and anomaly detection.
INFO.3090 Introduction to Data Management (3cr)
In this course, we study the fundamental concepts behind the design, implementation and application of database systems. The course gibes an extensive coverage of the relational model including relational algebra and the commonly used database language SQL. We also conduct a detailed study of concepts such as transactions, constraints, triggers, views, and indexes, which are indispensable in practical applications and for the effective usage of a database management system (DBMS). Additionally, the course covers the usage of DBMS in broader environments such as embedded SQL and JDBC, and advanced topics including NoSQL and graph databases.
INFO.3110 Introduction to the Linux/Unix Operating System (3cr)
Addresses manipulating and maintaining files within the UNIX file system; creating and editing text files using the vi and ed editors; using pipes, redirection, and filters; using advanced text processing utilities; using electronic mail; writing and debugging shell scripts; submitting and executing processes.
INFO.3120 Shell Scripting (3cr)
Teaches the students the techniques of programming in the high-level programming language of the Bourne, Korn, and BASH Shells. The course covers the building blocks necessary to create portable shell scripts that can be used as new utilities for computers running either UNIX, Linux, or the Cygwin environment on Windows.
Requirements:
INFO.3110, and INFO.2670 or INFO.2120
INFO.3210 Linux/Unix System Administration (3cr)
The course will start by exploring the booting and setting up stand-alone system. Students will learn how to set up and manage user accounts, how to manage other resources such as disk space, CPU usage and user access to shared resources with maximization of security in mind. Since virtually all systems are networked today we will proceed to learn about e-mail (POP and SMTP protocols), Web servers and networking services. The course will present the following Internet services: DNS, FTP, telnet, HTTP (Apache Web Server), SSH. The intranet topics will be discussed including Network File System (NFS), Network Information Services (NIS) and interoperability with Windows system via Samba. At the conclusion of the course students will explore topics in networking: network configuration, security and interoperability.
Requirements:
Shell Scripting experience; required software with tex
INFO.3600 Intro. to Data Structures with C (3cr)
This course introduces students to the fundamental concepts of data structures such as stacks, queues, linear and linked lists, trees, graphs, hashing, etc., using the C programming language. Algorithms for manipulating these structures, such as sorting and searching techniques, will also be covered.
Requirements:
INFO 2670 C Programming or INFO 2120 Intro to Programming with C- part II.
INFO.3640 Problem Solving with C (3cr)
Intended as a practical problem-solving course, to give students further exposure to the topics covered in 90.267 and to provide the tools needed for software development. The course emphasizes these aspects of the programming problem-solving process: problem specification and organization; algorithms, coding, debugging; the elements of good programming style; and the means of producing a high-quality finished product. Programming examples are chosen to span a wide range of both numeric and nonnumeric applications.
Notes:
This course qualifies for
free MSDNA software!
Requirements:
INFO.2120 or INFO.2670; requires Ansi C/C++ compiler software
INFO.2950 Introduction to Information Security (3cr)
This course will present an overview of the issues related to information security from a computer and computer network perspective. We will cover the threats to the information security infrastructure with a focus on the detection and prevention of them. We will discuss protection of PCs, servers, associated computer services (e.g. network, browsers) and data (e.g. file systems, email) through a "defense in depth" or "layered" approach. We will review major software packages, hardware devices, accepted technical and administrative practices that contribute to information security. The vulnerabilities and hardening of major operating systems such as Linux and Microsoft Windows will be discussed. The material is technical in nature however no systems administration or software development experience is assumed. Solid familiarity with the use of the Internet and computers is required and some knowledge of TCP/IP would be helpful.
Requirements:
INFO.1600 and INFO.2020, or equivalent
INFO.4570 Network Security (3cr)
This course explores the theory, mechanisms, and implementation of security in computer networks. Our goal is to provide an introduction to mathematical encryption and security protocols, and how these are applied to the infrastructure of IP (Internet Protocol) Networks. We will cover classical ciphers and cryptographic methods such as DES, 3DES, Feistel, AES, RC5, and Modern Public Key cryptography (e.g.RSA, Diffie-Hellman, ECC) and PKI ( Public Key Infrastructure). The second half of the course will introduce the principles and implementation of Kerberos, SSL/TLS (Secured Socket Layer, Transport Layer Security) IPSEC (IP Security) and Access Control. The mathematics required will be introduced in class.
Requirements:
Prerequisite 1: INFO.4620 TCP/IP & Network Architecture or
related experience, and Prerequisite 2: INFO.3190 Introduction
to Linux or INFO.3110 Introduction to the Linux/Unix Operating
System, or related experience. Check prerequisites in all
prerequisite courses.
INFO.4610 LAN/WAN Technologies (3cr)
This course discusses basic data communication concepts; digital and analog signaling; media and cabling systems; the OSI reference model; Physical and Data Link layer; LAN standards; Ethernet, Token Ring, FDDI, Switched technologies, emerging LAN standards; Bridges and Routers; and Network operating systems.
Requirements:
INFO.2670 or previous programming Experience
INFO.4620 TCP/IP and Network Architecture (3cr)
This course is study of the TCP/IP and Network Architecture. We will focus on the concepts and fundamental principles that have contributed to the modern networks design and implementation using TCP/IP. Topics to be addressed in this course are IP, ARP, RARP, and ICMP protocols; IP routing; TCP protocol; Telenet, FTP, SMTP; TCP/IP next-generation; OSI network protocols and standards; Client/Server networking and applications.
INFO.4640 Network Management (3cr)
This course will provide you with a general understanding of the theoretical and practical aspects of network management. We will be covering the basics of network management and associated standards while also taking a look at some of the more recent technologies. We'll also augment the textbook readings with recent articles and papers that will pull real-world examples of how network management is used to help manage the ever increasing complexity of networks that we are so reliant on.
INFO.4770 Project Based Information Systems - Part I (3cr)
This course serves as an introduction to Management Information Systems (MIS), emphasizing information needs at various management levels, including problem finding as well as problem solving. The course highlights the use of real time, distributed data processing, decision support and expert systems in the decision-making process of today's business. The student will understand how the use of different hardware and software can answer a wide range of 'what if' questions, crucial in today's planning function.
Requirements:
Junior status
INFO.4780 Project Based Information Systems - Part II (3cr)
Serves as a continuation of INFO.4770, stressing the systems approach of MIS, focusing on methodologies used and the control over MIS as it relates to other business areas. Case studies are used to unify preceding topics as they relate to corporate planning, marketing, manufacturing, accounting, finance and personnel subsystems.
Requirements:
INFO.4770
INFO.4800 Project-Based Information Systems (6cr)
This course looks at information systems from the perspective of corporate management, rather than at a technical or programming level. It emphasizes how managers can successfully understand and use information systems in order to better realize company objectives, such as the revenue maximization, cost reduction, customer satisfaction, etc.
Requirements:
Junior status, can be used to replace the sequence of INFO.4770 and INFO.4780
MATH.1205 Applied Precalculus (3cr)
Intended for students in online degree programs. The objective of this course is to provide students with problem-solving and computational techniques needed for further coursework and/or in their occupations. Topics covered include a comprehensive review of algebra, functions, and relations, system of linear equations in two variables, polynomial functions, rational functions, and inverse functions. Applications from business, IT, and biological sciences are included. ANTI-REQUISITES: Credit will only be granted for one of the following: MATH.1200/1225, MATH.1205 or MATH.1210.
MATH.2190 Discrete Structures I (3cr)
Presents propositional logic, combinatorics, methods of proof, mathematical systems, algebra of sets, matrix algebra, relations and functions, recursion and generating functions, applications to computer science, and graph theory.
Notes:
Formerly MATH.3210
MATH.2195 Discrete Math for IT (3cr)
Discrete Mathematics plays an important role in explaining key concepts in Information Technology and Computer Science, This course explores topics in logic, relationships between data, number theory and cryptography, recurrence and recursive programming, and how graphs relate to efficient algorithms. No credit for Math or CS majors.
MATH.2830 Introduction to Statistics (3cr)
An introduction to descriptive statistics, graphing and data analysis, probability laws, discrete and continuous probability distributions, correlation and regression, inferential statistics. No credit in Sciences (except Biology and EEAS) or Engineering. Meets Core Curriculum Essential Learning Outcome for Quantitative Literacy (QL).
Notes:
MATH.1115 or equivalent; MA; Previously 92.183
MIST.3030 Database Management Systems (3cr)
An introduction to databases and Database Management Systems (DBMS). Topics include basic concepts of database technology, an introduction to SQL, techniques for logical and physical database design, interaction with a commercial DBMS, and data warehousing.
MIST.4020 Systems Analysis and Design (3cr)
An overview of the information system and systems development life cycle (SDLC). Emphasis on tools and techniques that analyst can use to document information systems. Current, classical and structured tools for describing data flow, data structure, process flow, file design, input and output design and program applications will be discussed.
Requirements:
MIST.2010 pre-req
PHIT.2030 Health Information Technology (3cr)
Explore a variety of health information systems and technologies used in the coordination of care and delivery of health services. Develop an understanding of the evolution of health information technology, electronic health record systems, and the national standards applicable to clinical, financial, and administrative data required to appropriate manage health services. Student's practice using electronic health record simulations to access and select the appropriate demographic, clinical, financial, and administrative data. Privacy, security, and confidentiality of protected health information in the electronic environment will also be discussed.
PHIT.2031 Intro to Pub Hlth Informatics and info Systems (3cr)
This course is an introduction to public health informatics and information systems. Topics include the evolution of public health information systems, public health data sources, core concepts and terminology in health informatics, and ethics. The office of the National Coordinator for Health Information Technology standards for public health information technology will be introduced. Students will identify data sources and learn basic data visualization skills to describe a public health problem.
Requirements:
PUBH.1021 Introduction to Public Health, and Public Health Majors, and Health Sciences subplan only.