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.
Non-CS Majors only
Not for CS majors
ENGL.1010 College Writing I (3cr)
A workshop course that thoroughly explores the writing process from pre-writing to revision, with an emphasis on critical thinking, sound essay structure, mechanics, and academic integrity. Students will read, conduct rhetorical analyses, and practice the skills required for participation in academic discourse. Students will write expository essays throughout the semester, producing a minimum of four formal essays.
ENGL.1020 College Writing II (3cr)
A workshop course that thoroughly explores the academic research writing process with an emphasis on entering into academic conversation. Building on the skills acquired in College Writing I, students will learn to write extensively with source material. Key skills addressed include finding,assessing, and integrating primary and secondary sources, and using proper documentation to ensure academic integrity. Students will produce analytical writing throughout the semester, including a minimum of four formal, researched essays.
ENGL.2240 Business Writing (3cr)
Studies the theory and practice of writing letters, memoranda and reports on specific business and technical problems. Registration preference for students enrolled in Business programs.
Note: Students may not receive credit for both ENGL.2240 and ENGL.2260
ENGL.2260 Scientific and Technical Communication (3cr)
Studies the theory and practice of letters, memoranda, reports and oral presentations on specific scientific and technical problems.
Students may not receive credit for both ENGL.2240 and ENGL.2260; Students will learn about scientific and technical communication by engaging with lab reports, step-by-step instructions, technical manuals and so forth. This course gives students the opportunity to write two chapters in a technical manual by the end of the course. These chapters will include step-by-step instructions on how to fix, prepare, create, or describe a function or process related to a specific individual project.
ENGL.2390 Introduction to Professional Writing (3cr)
This course offers an introduction to different types of professional writing, including journalism, technical writing, business writing, and other professional communication. Focus in the course will be on understanding the rhetorical situation, including the audience, purpose, and context of each communication task. Students will learn how to work effectively and ethically in a collaborative and professional environment. Students may not earn credit for both ENGL.2270 and ENGL.2390.
ENGL 1020 pre-req
INFO.1600 Introduction to Information Systems (3cr)
This course presents the most -up-to-date technology in an ever-changing discipline. It provides an in-depth understanding of the components of the computer systems and mobile devices, application software, mobile apps, system software (including operation systems), digital storage, and communications and networks. The course also teaches the fundamentals of the Internet, digital safety, security, and privacy, as well as Information and Data Management and Information Systems and Program Development.
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.
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.
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.
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.
This course qualifies for free
INFO.2250 Survey of Programming Languages (3cr)
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.
Formerly Graphics for Multimedia
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.
Requires Adobe Dreamweaver software.
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.
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.
This course qualifies for
free MSDNA software!
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.
This course qualifies for
free MSDNA software!
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.
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.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.
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.
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.
INFO.2970 or INFO.2680; requires Sun Java Dev. Kit
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.
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.
INFO.2030 Intro Programming with Python, and
Co-req: INFO.2910 Introduction to HTML, or
Permission of Instructor.
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.
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.
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.
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.
This course qualifies for
free MSDNA software!
INFO.2120 or INFO.2670; requires Ansi C/C++ compiler software
INFO.3850 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.
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.
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
INFO.4600 Computer Ethics (3cr)
This course is an introduction to the major issues surrounding the use of computers in our society, with a special focus on fields related to computer science and information technology management. The course will cover an analysis of major trends in emerging computer technology and their potential effects on work, leisure, government, and human relations. Students will examine the assumptions which underlie our culture's relation to technology and the relation between their own ethics and the values and ethics implicit in our uses of technology and information.
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.
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.
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.
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).
MATH.1115 or equivalent; MA; Previously 92.183
MGMT.3800 Business Ethics (3cr)
This course will explore the intersection between business leadership and ethics in various context. It provides the opportunity for students to explore complex issues in societal and professional contexts while engaging in probing conversations with classmates.
PHIL.2030 Introduction to Ethics (3cr)
Examines the basic issues and problems of ethics and values and a survey of some important alternative answers to the questions raised, on both an individual and a social level, by our necessity to act and to live in a rational and human way. Meets Core Curriculum Essential Learning Outcome for Social Responsibility & Ethics (SRE).
PHIL.3340 Engineering and Ethics (3cr)
A philosophical analysis of the ethical dimensions and responsibilities of the engineering profession. Specific case studies and ethical issues are analyzed through the application of some of the basic concepts and principles of traditional and contemporary ethical theories. Meets Core Curriculum Essential Learning Outcome for Social Responsibility & Ethics (SRE).
PHIL.4010 Bioethics and Genetics Research (3cr)
This course addresses ethical issues that arise in biomedical research and practice including autonomy in the doctor-patient relationship, the duty of confidentiality, the right to refuse treatment, the right to death with dignity, the ethics of experimentation with human subjects, the ethics of genetic enhancement, and justice in health care distribution. The course will combine theoretical perspectives and concrete case studies that illustrate actual dilemmas that the health care profession has in fact encountered over the years.
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.
PUBH.1021 Introduction to Public Health, and Public Health Majors, and Health Sciences subplan only.