Internet Technology (IT)
This course has two parts: Technical and non-technical overview of the Internet and all aspects of HTML and Web authoring. Topics in the first part include History of the Internet, Architecture, Basics of TCP/IP and its services: ftp, telnet, SNMP and NFS,IP addressing scheme, Subnet masks, Packet switching, Security issues, DNS. Browser issues. Configuring browsers. The second part of the course includes HTML and Web authoring using HTML and an HTML editor including multimedia. Students develop professional looking Web pages with multimedia features. The focus is designing an effective Web page and publishing it.
This course provides a thorough introduction to computer networks and data communications. Topics include major applications of networking, protocols, the OSI reference model, physical links and interfaces, modems and modem standards, interface standards, multiplexing and communication links, LANs, WANs, routers and Internetworking, application support protocols, overview of TCP/IP, Internet layer functions, address resolution, DNS, IP addressing system, subnets, IP routers, TCP and UDP and Internet services.
Introduction to computer networking. The OSI network reference model. Introduction to TCP/IP. Introduction to the web architecture. Overview of operating system (both Windows and Linux) security, network security, web security, social engineering, and legal and ethical issues.
This course provides an introduction to database concepts, SQL, and web based database design. The major goal is to provide students with an understanding of the basic concepts underlying the use of a database system. A database management system and Perl will be used as a vehicle for illustrating some of the concepts discussed in the course.
This course combines project management methods and structured systems development techniques and applies them to the complex world of information systems development. The central project management functions planning, organizing and controlling are presented in the context of the systems development process. Topics include project planning, estimating, testing, implementation, documentation, management of change, utilization of services consultants, software houses, turn-key systems and proprietary software packages.
This course provides a comprehensive introduction to Web development using higher-level languages currently used in industry. Both client side and server side development are discussed. The language currently used in industry is Java for both client side and server side development. Java Applets: Topics include review of Java language, difference between a java applet and Java applications, AWT, components, events, graphics, multimedia, and components in Swing. Students will be writing several practical applets. Java Servlets: Topics include Java servlet API, Java Threads, difference between GET and POST methods, server side processing or client data, session handling, Inter servlet communication, Applet servlet communication and database connectivity and three tier Web applications. Introduction to Java Server Pages (JSP). Students will be writing several practical Java servlets.
Concepts of web computing. The layered web architecture. Web site structure. Creating websites with Contents Management Systems (CMS). Enabling and managing social networking features including blogging, polling, discussion forums, and RSS publishing. The course project is for each students to design and implement an effective corporate website for a fictitious company.
This course provides a thorough introduction to the architecture of a Web server. Students will be setting up a Web server, configure it and understand the security issues. Students will be doing hands-on work either in the department labs or they can setup their own personal Web server. Topics include: Functions of a Web server, planning a server, configuring for CGI, and servlets, log files, server maintenance. Security issues will be discussed with focus on encryption, Secure Socket Layer (SSL), firewalls, and secure online transactions.
Introduction to Java programming, algorithm design and computer science concepts, using Eclipse development platform. Covers procedural programming constructs, use of language provided objects and static methods, building classes, the management of reference variables in contrast to primitives. Programming problem-solving is emphasized throughout. Computer science concepts include time complexity analysis, elementary sorting and searching, and adjacency matrices for graphs. Also included are beginning concepts of Object Oriented Design such as identifying the attributes and responsibilities of classes.
This is a continuation of IT 620, covering advanced topics in Java using Eclipse development platform. Building linked data structures including lists and trees. Recursive techniques for managing binary trees and for backtracking. Derivation including abstract classes, and polymorphism Interfaces. Exception handling. Information storage and retrieval systems and time complexity analysis. Applicable design patterns. Coverage of Java collections framework.
Introduction to .NET Web technologies through C# .NET for people with basic programming skill. Topics include object-oriented programming, exception handling, delegate, multithreading, graphic user interface, Web programming with ASP .NET, database programming with ADO .NET, Web services, and Microsoft Visual Studio .NET IDE.
Integrated hands-on coverage of fundamental concepts and technologies for enterprise and Internet computing. Topics include data storage; XML data specification, parsing and validation; data and language translation; networking and Web technology overview; software framework technology for controlling software system complexity; and a roadmap for the enterprise computing technologies.
Linux is the fastest growing operating system today. This course starts with an overview of the structure of the Unix/Linux operating and Unix/Linux commands. Topics include installation of Linux, working with file system, Linux shells, file permissions, simple administration, and basic security issues. Introduction to an open source programming such as Perl or PHP. Students will be writing several practical applications using this programming language.
This course is an introduction to the field of human-computer interaction using the User-Centered Design method, which starts from the needs of the users and their human capabilities (e.g., memory, attention, social responses), and follows the iterative design and evaluation (with and without users) of the user interface (UI). As a practical exercise, a graphical and event-driven UI will designed via this method, prototyped via Visual Basic (for which a short tutorial will be included), and evaluated.
Fundamental concepts of Internet computing and component-based software engineering. Web application architecture. HTTP protocol. Presentation tier techniques: servlets and Java Server Pages, Java Server Faces. Application server technique: Enterprise JavaBeans. Introduction to web services with Java and C# .NET.
While the corporate world is flooded by data, it is very rare where you see knowledge or valuable information. Data mining is what a corporation needs to generate business value, the bottom line of its existence. This course will present the techniques and tools needed to search for significant patterns and trends in large databases. The course will present Data Mining is a Knowledge Discovery methodology that involves nontrivial extraction of implicit, previously unknown, and potentially useful information from data. The course will also discuss machine learning, statistical and visualization techniques to discovery and present knowledge in a form, which is easily comprehensible to humans.
The World Wide Web Consortium's (W3C) extensible Markup Language (XML) has rapidly emerged as a standard that is used in a wide variety of applications related to Web and e-Commerce. This course starts with basics of XML and goes on to developing XML applications using the programming language Java. Knowledge of Java is assumed. The course also deals with using XML to pass data between distributed Java applications.
Pattern Recognition techniques are useful in many applications of computer science and information systems, such as information retrieval, data mining, artificial intelligence and image processing. This course is an introduction to the foundation of pattern recognition algorithms. Topics to be studied: data structures for pattern representation, feature extraction and selection, parametric and non-parametric classification, supervised and non-supervised learning, clustering, decision trees, nearest neighbor, artificial neural networks, and hidden Markov models. Applications of various classification techniques will be demonstrated by several on-going handwriting, graphics, and speech recognition projects.
This course provides an introduction to mainframe architectures and IBM System z servers, high-performance batch processing and transaction processing, mainframe operating systems including IBM z/OS and Linux, mainframe security, mainframe performance monitoring and tuning, configuring J2EE application servers on mainframes, and integration of mainframes in a business solution.
This course covers the most important issues and topics in the huge area of computer and network security. Topics include: Encryption techniques, (DES, AES, Contemporary Symmetric Ciphers, Public Key Cryptography and RSA), message authentication and hash functions, digital signatures and authentication protocols, IP security (IPsec), SNMP vulnerabilities, e-mail security, secure socket layer (SSL) and transport layer security, web security, intruders, malicious software and firewalls.
This course provides a general overview of the theory and application of information warfare and forensic computing. The background information on information warfare highlights the inherent problems in today's computing environment and indicated the necessity of forensics to complement computer security. The course focuses on information warfare arsenal and tactics, defensive strategies, and causalities; network surveillance tools for information warfare; fundamentals of computer forensics; computer forensics services and technologies; search and seizure; data recovery and identification and digital evidence collection, duplication, and preservation; computer image verification and authentication; reconstruction of past events; legal issues; and advanced topics in forensics.
This course discusses information security from organizational and managerial perspectives. For an organization, information security is a continuous management process. Security technology alone cannot facilitate this process without security professionals being aware of the tradeoffs and various policy issues embedded in this process. This course will provide students with a background in managing information security in organizations. Topics include risk identification and assessment, security policy and planning, personnel and security, privacy, security auditing, and legal issues.
This course is intended to provide students with an introduction to expert perspectives and techniques that will help them to ensure the security of essential software. Students will learn how to consider threats and vulnerabilities early in the development cycle so that they can learn how to build security into their software systems. Students will learn how to determine an acceptable level of risk, how to develop security test, and how to plug security holes before software is even shipped.
This course is a continuation of IT 668. Some of the topics that have been introduced in IT 668 will be revisited. In addition, in this course, students will learn how to padlock, their applications throughout the entire development process- from designing secure applications to writing robust code that can withstand repeated attacks to testing applications for security flaws. Students will learn: the process and techniques of writing secure code, effective authentication and authorization techniques, the most common web application vulnerabilities and how to avoid them, secure user management systems and data validation strategies. Students will have access to information about threat modeling, designing a security process, international issues, file-system issues, adding privacy to applications, and performing security code reviews. They will also learn about buffer overruns, and Microsoft .NET security. In addition, students will be provided with practical checklists for secure software development.
This course studies the phenomenon of information technology offshore outsourcing. The course examines the strategies, benefits and pitfall of offshore outsourcing, how the culture and politics of the receiving countries play a role in the success of the outsourcing business model and the effect of outsourcing on US economy, job market and politics. Course Roation:NY;PLV:Fall;Summer
This is a special topics course based on current trends in the field. It varies from semester to semester.
The importance of network security is increasingly becoming a global concern. It is imperative to have an understanding of how the international community addresses network security to insure the reliability of our own data communications infrastructure. The online portion of this course will provide an introduction to the technology of telecommunications and networking. Topics will include techniques and policies for securing networks, and an overview of cybercrime and its prevention. Abroad, students will participate in seminars with academic and industry professionals to get the international perspective.
This course studies the phenomenon of information technology offshore outsourcing. The course examines the strategies, benefits and pitfall of offshore outsourcing, how the culture and politics of the receiving countries play a role in the success of the outsourcing business model and the effect of outsourcing on US economy, job market, and politics. During travel to India students will visit Indian companies doing US outsourcing as well as US companies in India. The trip incudes sightseeing (e.g. Taj Mahal) and the exploration of Indian culture.
The field of mobile forensics has expanded exponentially over the past few years as more of our lives are captured on smartphones and other mobile devices. This course will provide students with an overview of cellular networks and the various devices that operate on these networks. Moreover, an in-depth analysis of the file systems and operating systems, including iOS and Android platforms will be explained. Students will have the opportunity to use professional mobile forensic tools utilized to examine mobile telephones, SIM cards, media cards and synced data on paired computers in a forensic manner. The course will introduce students to professional investigative techniques, legal procedures and reporting standard necessary to build a successful case. Other topics in the course will include investigations involving tablet computers, digital cameras, multimedia players and Global Positioning System (GPS) electronics.
As the use of telemedicine has grown, it is now time to explore broader opportunities for IT and collaboration best practices to impact the broader healthcare and life sciences ecosystem, towards a broader notion of telehealth. This seminar-style course will include lectures from industry guest speakers and cover new business opportunities, supporting technologies which are required to meet those opportunities, and the changes in organizational and regulatory frameworks which will support implementation of these technologies. Sample aspects of the life sciences ecosystem which will be covered include clinical trials of new prescription drugs, global communication of drug efficacy and quality through regulatory systems, and remote management of the medical device manufacturing process. In each of these areas, we will discuss the prospect of telehealth to include more remote participants in the process and have a better impact in patient lives. The course will also include a final project a developing a product plan for technology to address a key telehealth challenge.
The 21st century is characterized by the huge amount of technology innovations that are transforming out life and work. This course will use lectures and seminars by the major technology innovators to introduce the main themes and methodologies of these innovations, how to integrate these innovations into creating new products or services and how to facilitate and speed up the innovation process.
In this project-oriented course student teams develop real-world computer information systems for actual customers. Students learn the importance of a systematic approach in the process of developing robust computer information systems, the management of projects, how to interact with customers and conduct requirements analysis, and the technical and soft skills required. Emphasis is placed on developing skills and knowledge in technical areas that have realistic value in the workplace. Depending on the nature of a project the technical skills can involve e-Commerce and Internet technologies, client-server systems, especially those with Web interfaces to backend databases, relational databases, web design and interfaces, HTML, Java programming, and scripting languages such as PHP and Cold Fusion for accessing databases through web interfaces. In addition to technical skills, students develop problem-solving, critical thinking, communication, and teamwork skills. By working on real-world systems with actual customers the students learn the appropriate skills – both technical and soft skills – for filling meaningful roles in the professional IT workplace.
Students complete the implementation and testing of the project which was specified and designed in IT 900. The deliverables in IT 901 are a complete working product in concurrence with the submitted proposal. It is expected the product will have met all the testing criteria listed in the test plan document. Students will deploy and demonstrate the project in the class.