Bachelor of Science in Information Technology - Second Degree

Curriculum Outline Before Summer 2024

Total: 9-10 Courses / 30 Credits
Note: Students may not use INFO.2020 MS Office as an elective in this program.
View Course Descriptions »

Information Technology Degree Requirements (9-10 Courses / 30cr)

2100-Level Required Electives (5 Courses / 15cr)

  • INFO.2xxx Information Technology Elective (3cr)
  • INFO.2xxx Information Technology Elective (3cr)
  • INFO.2xxx Information Technology Elective (3cr)
  • INFO.2xxx Information Technology Elective (3cr)
  • INFO.2xxx Information Technology Elective (3cr)

3000/4000-Level Required Electives (3 Courses / 9cr)

  • INFO.3/4xxx Information Technology Elective (3cr)
  • INFO.3/4xxx Information Technology Elective (3cr)
  • INFO.3/4xxx Information Technology Elective (3cr)

Final Courses (1-2 Courses / 6cr)

  • INFO.4800 Project-Based Information Systems *** (6cr)
  • OR
  • INFO.4770 Project Based Information Systems - Part I *** (3cr)
  • INFO.4780 Project Based Information Systems - Part II *** (3cr)

Information Technology Example Electives

2100-Level Electives

  • INFO.2110 Introduction to Programming W/C I ** (3cr)
  • INFO.2120 Introduction to Programming with C - Part II ** (3cr)
  • INFO.2200 Visual Basic (3cr)
  • INFO.2250 Survey of Programming Languages (3cr)
  • INFO.2300 Introduction to Multimedia (3cr)
  • INFO.2310 Graphics for Multimedia and the World Wide Web (3cr)
  • INFO.2380 Website Development (3cr)
  • INFO.2480 Website Database Implementation (3cr)
  • INFO.2500 E-Commerce (3cr) - Available Fall 2024!
  • INFO.2670 C Programming (3cr)
  • INFO.2680 C++ Programming (3cr)
  • INFO.2710 C# Programming (3cr)
  • INFO.2785 Introduction to Operating Systems (3cr) - Available Fall 2024!
  • INFO.2810 Introduction to the Internet of Things (3cr)
  • INFO.2820 Python Programming (3cr)
  • INFO.2910 Introduction to HTML (3cr) - Available Winter 2025!
  • INFO.2970 Introduction to Java Programming (3cr)

3000/4000-Level Electives

Note: This is a partial list of approved courses. View additional courses that may be used as Information Technology Electives.

** Note: Students cannot get credit for both INFO.2670 and the INFO.2110/INFO.2120 sequence; INFO.2120 can be counted as an Information Technology Elective if INFO.2110 is also taken.

Course Descriptions

INFO.2110 Introduction to Programming W/C I (3cr)

Offers an introduction to the processing of information by computer. Computer logic, memory, input/output processing, and programming in the 'C' language. Students may not receive credit for both the INFO.2110/INFO.2120 sequence and INFO.2670. 3 credit(s). Prerequisite: No previous programming experience required.

Notes:

Students may not receive credit for both the 90.211/90.212 sequence and 90.267
This course qualifies for free MSDNA software!

Requirements:

No previous programming experience required

INFO.2120 Introduction to Programming with C - Part II (3cr)

Serves as a continuation of INFO.2110. Additional topics will include pointers, dynamic memory allocation, file handling techniques and libraries. Students may not receive credit for both the INFO.2110/INFO.2120 sequence and INFO.2670.

Notes:

Students may not receive credit for both the 90.211/90.212 sequence and 90.267. This course qualifies for free MSDNA software

Requirements:

INFO.2110

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.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.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.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.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.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.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.

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

Undergraduate Degree Requirements

All bachelor's degree candidates are required to earn a minimum 2.000 cumulative grade point average (GPA), to present a minimum of 120 semester hours, to fulfill the residency requirements, to conform to the general regulations and requirements of the University, to satisfy the regulations and academic standards of the colleges which exercise jurisdiction over the degrees for which they are matriculating, to satisfy the curriculum requirements established by the departments or programs in their major, and to complete the University's Core Curriculum requirements, which are listed within the program's curriculum outline. For additional information regarding the University's general policies and procedures, transfer credit information and residency requirements; please refer to our Academic Policies & Procedures.