Courses Offered in Computer Science | Salem State University Skip to main content

Courses Offered in Computer Science

Computer Science

CSC 101: Survey of Computer Science I

This course provides an overview of fundamental areas within the field of Computer Science, introducing basic vocabulary, central concepts, and typical applications. The areas surveyed include computer hardware, computer arithmetic, operating systems, programming constructs, programming languages, information storage and retrieval, databases, networking, and the social context of computing. Three lecture hours per week. This course satisfies the Computer Literacy Competency-Based Skills requirement.
Prerequisites: fulfillment of the Basic Mathematics Competency-Based Skills requirement. Not open to students who have received credit for CSC200A.
Prerequisites: Fulfillment of the Basic Mathematics Competency Based Skills requirement and ability to use standard computer software (e.g. operating system features, word processing, email, and web browsers).

Credits: 3.00

CSC 105: Survey of Computer Science

This course provides an overview of fundamental areas within the field of Computer Science, introducing basic vocabulary, central concepts, and typical applications. The areas surveyed include computer hardware, computer arithmetic, operating systems, programming constructs, programming languages, information storage and retrieval, networking, intelligent systems, computer graphics, and the social context of computing. Four lecture hours per week.
Prerequisites: Fulfillment of the Basic Mathematics Competency Based Skills requirement and the ability to use standard computer software (e.g., operating system features, word processing, email, and web browsers).

Credits: 4.00

CSC 110: Software Design and Programming I

This course introduces a set of fundamental design principles and problem-solving techniques for the development of computer algorithms and their implementation as programs. Problem solutions are developed with the help of an appropriate modeling language and then coded in an object-oriented programming language. (Consult the Computer Science Department for the languages and tools currently in use.) Topics such as problem specification, object-oriented analysis and design, standard data types, control structures, methods and parameter passing, and design for reuse are presented through a study of specific example problems and solutions. Style, documentation, solution robustness, and conformance with specifications are emphasized throughout. Three lecture hours and three hours of scheduled laboratory per week, plus extensive programming work outside of class. Not open to students who have received credit for CSC201J.
Prerequisites: Fulfillment of the Basic Mathematics Competency Based Skills requirement and the ability to use standard computer software (e.g., operating system features, word processing, email, and web browsers).

Credits: 4.00

CSC 115: Software Design and Programming II

This course extends the treatment of object-oriented methodologies, languages and tools begun in CSC110. The emphasis is placed on the analysis of complex problems, particularly those involving multiple design alternatives, and the use of class libraries. Fundamental strategies for algorithm design are presented and discussed. Specific topics include inheritance, polymorphism, recursion, stream and file I/O exceptions, and graphical interface programming. Style, documentation, solution robustness, and conformance with specifications are emphasized throughout. Three lecture hours and three hours of scheduled laboratory per week, plus extensive programming work outside of class. Not open to students who have received credit for CSC202J.
Prerequisite: CSC110 or CSC201J.

Credits: 4.00

CSC 200A: Survey of Computer Science I

This course provides an overview of fundamental areas within the field of Computer Science, introducing basic vocabulary, central concepts, and typical applications. The areas surveyed include computer hardware, computer arithmetic, operating systems, programming constructs, programming languages, information storage and retrieval, databases, networking, and the social context of computing. Three lecture hours per week. This course satisfies the Computer Literacy Competency-Based Skills requirement.
Prerequisites: fulfillment of the Basic Mathematics Competency-Based Skills requirement and ability to use standard computer software (e.g., operating system features, word processing, email, and web browsers).

Credits: 3.00

CSC 201J: Software Design and Programming I

This course introduces a set of fundamental design principles and problem-solving techniques for the development of computer algorithms and their implementation as programs. Problem solutions are developed with the help of an appropriate modeling language and then coded in an object-oriented programming language. (Consult the Computer Science Department for the languages and tools currently in use.) Topics such as problem specification, object-oriented analysis and design, standard data types, control structures, methods and parameter passing, and design for reuse are presented through a study of specific example problems and solutions. Style, documentation, solution robustness, and conformance with specifications are emphasized throughout. Three lecture hours and three hours of scheduled laboratory per week, plus extensive programming work outside of class.
Prerequisites: High school Algebra I & II; experience with a window-based operating system and the use of e-mail and a word processor.

Credits: 4.00

CSC 202J: Software Design and Programming II

This course extends the treatment of object-oriented methodologies, languages and tools begun in CSC201J. The emphasis is on the analysis of complex problems, particularly those involving multiple design alternatives, and the use of class libraries. Specific topics include inheritance, polymorphism, recursion, stream and file I/O exceptions, and graphical interface programming. Style, documentation, solution robustness, and conformance with specifications are emphasized throughout. Three lecture hours per week and three hours of scheduled laboratory per week, plus extensive programming work outside of class.
Prerequisite: CSC201J.

Credits: 4.00

CSC 212: Human-computer Interfaces

This course presents the fundamentals of computer/user interfaces using windows frameworks and object-oriented programming concepts. The basic concepts of a user interface, including command-based, graphical, and multimedia interfaces, are covered in a manner independent of specific technologies. A modern window-based interface implementation is then introduced through the use of one or more current object-oriented programming languages and object interface libraries. (Consult the instructor for the language(s) and libraries to be used.) Three lecture hours and three hours of scheduled laboratory per week, plus programming work outside of class. Not open to students who have received credit for CSC312A.
Prerequisite: CSC 115 or CSC 202J.

Credits: 4.00

CSC 215: Survey of Computer Science II

This course builds on CS200A and provides an overview of selected Computer Science topics that are more technical and advanced than those discussed in the earlier course. Topics include a detailed discussion of the binary, octal, and hexadecimal numeration systems, the machine representation of data and instructions, the design of a typical computer chip, programming in a simplified machine language, and such application areas as robots and embedded systems (programming and construction), artificial intelligence, computability theory and Turing machines, and an introduction to networks, including the Internet model. Four lecture hours per week plus laboratory work outside of class.
Prerequisites: CSC201J and CSC200A.

Credits: 4.00

CSC 230: Real-time Computer Interfaces

This course deals with the technical aspects of using a computer to sense data from a real world environment and subsequently to control conditions in that environment. The techniques of bread-boarding and experimental electronic circuit construction will be used in the laboratory. The construction and interfacing of robotic devices which sense and react to real-world conditions will be emphasized. Three lecture hours per week plus laboratory work outside of class.
Prerequisites: CSC 110 or CSC 202J, and PHS 205.

Credits: 3.00

CSC 235: Computer Security Basics

This course presents a unified view of information security that examines the closely related areas of software security, system security, and network security using a common set of underlying security principles. The resulting synthesis of knowledge will enable students to understand the challenges faced by contemporary designers of secure information technology infrastructure. Each of these three security areas is examined in sufficient detail for students to understand the complexity of modern threats and the corresponding sophistication of software and hardware that is designed to counter these threats. Three lecture hours per week.
Prerequisites: CSC101 or CSC105 or CSC200A, and CSC110 or CSC 201J.

Credits: 3.00

CSC 246: Information Visualization

This course presents the basic science and techniques behind information visualization, introducing fundamental concepts concerning the use of color, image processing, computer graphics, and scientific visualization. The course describes the principles of visual perception, information data types, and visual encoding of data representations, and then focuses on the study, design, and development of visualization techniques for the analysis, comprehension, explanation, exploration, and manipulation of large collections of datasets. The latest visual representation methodologies and state-of-the-art visualization tools including programming language(s) and visualization libraries and toolkits will be applied in the course to help understand the subject and to design and generate visual interpretation of large amounts of complex data collected from diverse areas such as physics, chemistry, biomedical studies, meteorology, geospatial research, business, etc. Students will form teams to participate in group projects that emphasize interdisciplinary interaction and cooperation, in order to analyze and solve real world quantitative problems. Four lecture hours per week, plus additional project time outside of class.
Prerequisites: One Mathematics course chosen from MAT 108, MAT 110, and MAT120 and MAT 200 and above; plus CSC 201J, or equivalent programming experience and permission of Department Chairperson.

Credits: 4.00

CSC 260: Data Structures and Algorithms

Basic data structures such as stacks, queues, linked lists, and trees are studied and applied to problems in data storage and manipulation. Applications include searching and sorting algorithms. Fundamental strategies for algorithm design are presented, analyzed, and evaluated. Design, analysis and implementation techniques are discussed. Three lecture hours and three hours of scheduled laboratory per week, plus extensive programming work outside of class.
Prerequisites: CSC101 or CSC105 or CSC200a, and CSC115 or CSC202J.

Credits: 4.00

CSC 263: Database Systems

This course is an in-depth study of the underlying principles of database systems. Topics include data modeling and reduction, physical representations of data and access paths, and the semantics and theory of several major approaches to data base organization, including relational and object-relational. Extensive discussion of query generation and optimization is included for at least one database system. Three lecture hours and three hours of scheduled laboratory per week, plus programming work outside of class.
Prerequisite: CSC 115 or CSC 202J.

Credits: 4.00

CSC 267: Internship in Computer Science

This course provides an opportunity for broadening and augmenting a student's computer knowledge through placement in an organization or agency engaged in work directly related to a Computer Science student's academic interests. The number of credits will vary with the nature of the work and the time commitment involved. A student must meet Departmental requirements before registering for the course. Limited to Computer Science majors. Free elective credits only. This course may be repeated for credits, but the total number of internship credits may not exceed 6.
Prerequisites: CSC260 and permission of Department Chairperson.

Credits: 1.00 - 6.00

CSC 278: Scripting Techniques

This course presents rapid application development (RAD) techniques and their implementation using modern scripting languages. Methods for defining problems and their solutions will be examined, including task analysis and the development of design criteria. The course investigates the design of modern scripting languages, emphasizing the use of their particular attributes for developing solutions to complex problems. Three hours of lecture and three hours of scheduled laboratory per week, plus programming work outside of class.
Prerequisite: CSC 115 or CSC 202J.

Credits: 4.00

CSC 279: C+c++

This course presents the particular goals, features, and strengths and limitations of C and C++ programming languages. C’s capabilities and limitations as a procedural programming language are examined, followed by an exploration of C++ as an object-oriented language that provides access to C’s feature set. Topics include language grammar rules and their effect on programming style, operators, pointer and reference types, bit manipulation, memory management, and the utilization of the STL (Standard Template Library). Programming assignments will highlight the use of each language in appropriate contexts (e.g. C: systems programming, text processing: C++: program-solving strategies emphasizing OO and the use of STL). Fundamental programming language paradigms, type systems, and memory allocation and management strategies are presented and discussed, followed by comparative analysis of the languages utilized in this course and its prerequisites. Three lecture hours and three hours of scheduled laboratory per week, plus extensive programming work outside of class.
Prerequisites: CSC115 or CSC202J.

Credits: 4.00

CSC 280: Operating System Principles

This course presents the evolution of computer operating systems, operating system functionalities, and current design and implementation techniques. Relationships between the operating system, computer architecture, and the user community are discussed. Three lecture hours per week.
Prerequisite: CSC260.

Credits: 3.00

CSC 295: Computer Architecture and Organization

This course examines the basic principles of computer systems and how these concepts relate to the design of such systems. Both hardware and software concepts and the interdependence between them are dealt with. The determination of basic trade-offs and the related decisions are discussed. Logic level designs, data representations, computer circuits, fundamental computer operations, program creation, I/O programming, processing elements, links and interfaces, memory hierarchy, and memory management are covered.
Prerequisites: CSC 105 or CSC 215, and CSC 115 or CSC 202J, and PHS205.

Credits: 3.00

CSC 300: Software Engineering

This course will explore in detail the software development process for large software systems using modern software engineering principles. Topics include software life cycle models, tools and techniques for software engineering, the software development life cycle, the Unified Process, testing/evaluation techniques, and evaluation metrics, Group design projects will be used to gain understanding of course topics and experience with development tools. Three lecture hours and three hours of scheduled laboratory per week, plus programming work outside of class.
Prerequisites: CSC260 and completion of a W-I course.

Credits: 4.00

This course fulfills these general education curriculum requirements: Written Communication-Level II

CSC 301: Software Engineering II

This course is an extension of CSC300 and focuses on the implementation of the software principles covered therein. This course explores state-of-practice and cutting-edge techniques and tools related to the design, implementation, and maintenance of software systems. Topics include: design patterns, Model Driven Architecture (MDA), test-driven development, agile development, extreme programming (XP), and aspect-oriented design. An ongoing group project will be used to gain practical experience with current software engineering practices and a variety of IDEs and CASE tools. Three lecture hours per week and three hours of scheduled laboratory per week, plus programming work outside of class.
Prerequisite: CSC300; CSC263 recommended.

Credits: 4.00

CSC 311: Object Orientation and Problem Solving Strategies

This course presents a basic treatment of the use of toolkits, frameworks, and design patterns in object-oriented design and programming. The concepts of composition, component reuse, inheritance, and parameterization (templates) are studied and used to develop problem-solving strategies, which are then implemented in one or more current object-oriented languages. (Consult the instructor for the language(s) to be used.) Three lecture hours and three hours of scheduled laboratory per week, plus extensive programming work outside of class.
Prerequisite: CSC260.

Credits: 4.00

CSC 315A: Computer Networks and Data Communications

This course provides an introduction to the basic principles of data communications and computer networks. Modulation techniques, multiplexing, transmission media, error control techniques, message formatting, switching and packet-switching techniques, various communication protocols, and networking and internetworking techniques are discussed. Three lecture hours and three hours of scheduled laboratory per week, plus programming work outside of class.
Prerequisite: CSC260 with grade of C+ or higher.

Credits: 4.00

CSC 325: Advanced Programming Techniques

This course presents state-of-practice software development techniques such as Web-based computing, application data exchange, frameworks for managing and securing robust systems, and developing multi-tier software systems. Topics will be illustrated by applications to such areas as remote objects, communication with remote components, reflection, security and Web Services. Specific topics will be chosen based on current software industry trends. Fundamental programming language paradigms, type systems, and memory allocation and management strategies are presented and discussed, followed by comparative analysis of the languages utilized in this course and its direct and indirect prerequisites. Three lecture hours and three hours of scheduled laboratory per week, plus extensive programming work outside of class. Prerequisite: CSC260.

Credits: 4.00

CSC 340: Artificial Intelligence

This course studies the theory and application techniques which allow a computer to "behave intelligently". Various operational definitions of intelligence are discussed, along with the concept of "mechanized intelligence". The course includes case studies of expert systems which solve engineering design problems, diagnose disease, and learn from their environment via natural language and/or visual interaction with a user. The role of planning, goal formation, search analysis and evaluation, and various forms of representation will be discussed extensively. Three lecture hours per week.
Prerequisites: CSC 105 or CSC 215, and CSC 260.

Credits: 3.00

CSC 351: Software Engineering II

This course is an extension of CSC300 and focuses on the implementation of the software engineering principles covered therein. It will explore state-of-practice and cutting-edge techniques and tools related to the design, implementation, and maintenance of software systems. Topics include: design patterns, Model Driven Architecture (MDA), test-driven development, agile development, extreme programming (XP), and aspect-oriented design. An ongoing group project will be used to gain practical experience with current software engineering practices and a variety of IDEs and CASE tools. Three lecture hours per week and three hours of scheduled laboratory per week, plus programming work outside of class. Not open to students who have received credit for CSC301.
Prerequisite: CSC300; CSC263 strongly recommended.

Credits: 4.00

CSC 367: Internship in Computer Science

This course provides an opportunity for broadening and augmenting a student's computer knowledge through placement in an organization or agency engaged in work directly related to a Computer Science student's academic interests. The number of credits will vary with the nature of the work and the time commitment involved. A student must meet Departmental requirements before registering for the course. Limited to Computer Science majors. Free elective credits only. This course may be repeated for credits, but the total number of Internship credits may not exceed 6. A total of 6 credits may be earned via
CSC267 and CSC367.
Prerequisites: CSC260 and permission of Department Chairperson.

Credits: 1.00 - 6.00

CSC 381: Operating System Principles

This course presents the evolution of computer operating systems, operating system functionalities, and current design and implementation techniques. Relationships between the operating system, computer architecture, and the user community are discussed. Three lecture hours per week. Not open to students who have received credit for CSC280.
Prerequisite: CSC260.

Credits: 3.00

CSC 425: Computer Graphics and Games

This course covers fundamental principles and applications underlying computer graphics and computer games. The course presents key aspects of computer graphics including graphics pipeline, scene graphics, 2D/3D geometric objects and transformations, viewing, shading, and modeling. Topics related to computer game development, include game engines, animation, behavior and interaction. The course will also introduce basic concepts of collision detection, illumination, game design and implementation, and will emphasize the application of the topics in game-related computer graphics programming projects with the use of graphics libraries and game engines and toolkits. Three lecture hours and three hours of scheduled laboratory time per week, plus programming work outside of class.
Prerequisites: MAT 108 or MAT 110 or any MAT course numbered 208 or above except MAT 247, plus CSC 260.

Credits: 4.00

CSC 430: Topics in Computer Science

This course is used for the exploration of advanced aspects of computer science. Course content variable. Course may be repeated for credit with permission of the Department Chairperson.
Prerequisites: CSC260; other prerequisites variable, depending on topic.

Credits: 3.00

CSC 435: Computer and Network Security Engineering

This course offers a detailed analysis of security problems and the corresponding methods used to create practical, working solutions to problems in computer and network security. Topics include secure software design, architecture of security products, and organization and administration of information security in IT in infrastructures. The course uses an in-depth approach to analysis of security solutions, secure operating systems, secure communication protocols, and secure software. Through laboratory exercises students will develop expertise in the use of contemporary security tools for protecting computers and computer networks.
Prerequisites: CSC315A; CSC273 or CSC311 strongly recommended.

Credits: 3.00

CSC 475: Distributed and Cloud Computing

This course introduces the design principles, system architectures and innovative applications of parallel, distributed, and cloud computing systems. It aims to acquaint students with supercomputers, distributed and cloud computing systems for high-performance computing, research, e-commerce, social networking, and web-scale Internet applications. Topics include clustering, virtualization, cloud platform architecture, service-oriented architecture, cloud programming, security in distribution and cloud computing, and the Internet of Things. Software development platforms and tools from several leading distributed and cloud computing vendors are used to gain hands-on experiences. Three lecture hours and three hours of scheduled laboratory per week, plus programming work outside of class.
Pre- or Co-requisite: CSC 381 or CSC 280.

Credits: 4.00

CSC 485: Robotics and Computer Vision

This course presents the basic science behind mobile robotics, robotic manipulation, and computer vision. The course examined key aspects of autonomous systems including sensors, map making, and path planning. The fundamentals of robotic manipulation will be presented, including coordinate transformations, manipulator, kinematics, and motion. Topics in computer vision include image formation, and sensing, region and edge extraction, feature identification, camera calibration and optical measurement. The course concludes with techniques for integrating vision, mobile robots, and manipulators into a complete system. Three lecture hours and three hours of scheduled laboratory time per week.
Prerequisites: CSC260; CSC279 strongly recommended.

Credits: 4.00

CSC 501: Directed Study in Computer Science II

General guidelines and timetables are the same as for CSC500, except that a CSC501 project may (but need not necessarily) be more oriented towards academic or theoretical study. Papers, tests, and oral examinations by the Directed Study Committee (or a designee) may take the place of some or all program design and coding requirements, if appropriate.
Prerequisites: CSC498. Additional prerequisites, which vary with the project, are at the discretion of the faculty supervisor for the project.

Credits: 3.00

CSC 520: Computer Science Capstone Project Specification

This course sets up a typical environment for the development of a detailed proposal for a software- or hardware-system project. The instructor will assist each student in choosing an appropriate project topic and in refining the project proposal through all stages from initial outline to final formal specification and presentation. The completed proposal will serve as the contract for the CSC521 Computer Science Capstone Project. The course involves periodic meetings, group discussions (if appropriate), and individual conferences. A presentation of the completed proposal will be made to the Computer Science Department faculty and students. This course is graded on a Pass/Fail basis and is taught on a Directed Study basis. Open only to Computer Science majors. Prerequisites: CSC 260 and CSC 300 and permission of department Chairperson.

Credits: 1.00

CSC 521: Computer Science Capstone Project

A substantial project involving system design and implementation is carried out on an individual or group basis under the supervision of a faculty member. The specification for the project must have been completed in the prerequisite course CSC 520. A presentation of the completed project will be made to Computer Science faculty and students; writing experiences will be used to develop skills in analysis and rhetoric. The course involves periodic meetings, group discussions (if appropriate), and individual conferences. Open only to Computer Science majors.
Prerequisites: CSC 520 and permission of the Department Chairperson.

Credits: 3.00

This course fulfills these general education curriculum requirements: Written Commun-Level III

ITC 100: Computers and Their Uses

This course provides an overview of the capabilities, uses and limitations of computers. The major types of software packages are discussed: operating systems, word processors, database systems, spreadsheets and communication packages. Applications of computers in areas such as business, education, graphic arts, medicine and engineering are surveyed. The major focus of the course is to present topics in the context of the impact of computers on functions such as decision-making, information storage, research and personal productivity. The general discussion is reinforced by skills-oriented lecture/demonstrations and assignments using specific software packages. Three lecture hours per week plus laboratory work outside of class. This course satisfies the Computer Literacy core requirement. Not open to students who have received credit for CSC100.
Prerequisites: High school Algebra I & II.

Credits: 3.00

ITC 117: Computing for the Professions

An examination of the problem solving process for individuals in an organizational setting using the latest application software. Emphasis will be placed on the use of spreadsheet and database software for problem solving, and their integration with other software tools, including text processing and presentation graphics. Planning, data collection, methodology, analysis of results and implementation will be included Three lecture hours per week.

Credits: 3.00

ITC 121: Web Graphics

An introduction to Computer Graphics, the course is designed to introduce non Computer Science majors to topics related to the application of graphics in today's world. The class will review graphic file types and related application issues in a computer environment. Students will concentrate on the computer manipulation of graphics related to web, digital photography and related processes. The course will survey and use a variety of graphics packages, including Photoshop, Ilustrator and available open source software. Special attention will be paid to animation using Flash and CSS based models. Although not intended for those with a programming background, an introduction to graphics programming using Action Script and PHP will be included. Material in the class will be suitable to students using a variety of platforms, including Windows, Mac OS X and Linux. Not open to students who have received credit for CSC220 or CSC121. Three lecture hours per week with laboratory work outside of class.
Prerequisite: Satisfaction of the Computer Literacy Competency Requirement as verified by Department Chairperson.

Credits: 3.00

ITC 181: Fluency in Information Technology

This course develops information technology fluency through concepts, capabilities, and skills to enable students to continuously adapt to the rapid changes in information technology. Students will develop these capabilities through completion of a series of theoretical and applied projects that are incorporated into a student ePortfolio. Knowledge of basic computer skills and office applications is helpful. This course satisfies the Computer Literacy core requirement.

Credits: 3.00

ITC 183: Cyber-security: a Personal & Professional Responsibility

How safe are you in the digital world? Hackers are trying to gain access to your private information, identity theft allows criminals to impersonate you while conducting criminal activity, viruses are trying to destroy your computer. Do you know the good practices you must follow to make your Internet experience safe? If not - this course is for you. It provides an overview of information security - the main issue, facing the Internet community today. Computers worldwide are under attack by hackers, threatening our financial well being, hurting the companies we work for, and even endangering the whole infrastructure of our society. This course presents a user level view of computer and network security and includes discussion of topics you must know o be responsible (personally and professionally) members of our social environment as individuals and work force participants.

Credits: 3.00

This course fulfills these general education curriculum requirements: Pers Growth & Responsibility

ITC 241: Spreadsheets for the Professions

An in-depth expansion of the basic spreadsheet topics introduced in ITC117. Using the latest spreadsheet software, students will study the commonly used spreadsheet functions such as financial analysis, data and look-up tables, templates, macros, pivot tables and complex problem solving. Techniques for designing, using and analyzing spreadsheets for practical problem solving in various professions will be emphasized. Three lecture hours per week.
Prerequisite: ITC 117 or Permission of Department Chairperson.

Credits: 3.00

ITC 500: Directed Study in Information Technology

Under the supervision of a faculty supervisor, the student will carry out a substantial project focusing on a relevant information technology topic or issue, or the development of a creative or innovative approach to using a technology tool or application that will further enhance or strengthen the student's skill sets as an end-user in a global, technical world. A preliminary project proposal will be submitted to the faculty supervisor prior to registering for the course.
Prerequisites: Prerequisites will vary with the project and are at the discretion of the faculty supervisor for the project.

Credits: 3.00

ITE 101: Survey of Computing

This course provides an overview of fundamental areas within the Computing Discipline, introducing basic vocabulary, central concepts, and typical applications. The areas surveyed include computer hardware, computer arithmetic, operating systems, programming constructs, programming languages, information storage and retrieval, databases, networking, and the social context of computing. Three lecture hours per week.
Prerequisites: Fulfillment of the Basic Mathematics Competency Based Skills requirement and ability to use standard computer software (e.g., operating system features, word processing, email, and web browsers).

Credits: 3.00

ITE 105: Problem Solving With Algorithms

This course serves as an introduction to programming. Using flow charts, pseudo-languages, and software development strategies, students will learn techniques for identifying and selecting solutions to problems by designing algorithms, using stepwise refinement and structured programming techniques. Students will design algorithms using pseudo-code, implement algorithms using a simplified programming environment, and participate in hand-on debugging, testing and documenting activities. Topics include principles of programming, the logic of constructing a computer program, integrating modules into a cohesive application, and fundamentals of programming languages. In-class exercises allow students to practice these techniques while solving assigned problems. Three lecture hours per week. Recommended for students with no prior programming experience.

Credits: 3.00

ITE 201: Fundamentals of Information Technology

This course is intended to provide students with an understanding of the discipline of Information Technology (IT), itds relationship to other computing disciplines, and a set of fundamental skills necessary to IT specialists. The discussions include pervasive themes in IT, history of IT, IT and its related and informing disciplines, and IT application domains. It is also intended to help students understand the diverse contexts in which IT is used and the effect of IT on society as a whole. This course provides students with the fundamental terminology, concepts, abstraction patterns, and tools used by IT. Three lecture hours per week.
Prerequisite: ITE101.

Credits: 3.00

ITE 205: Software Design and Programming I

This course introduces a set of fundamental design principles and problem-solving techniques for the development of computer algorithms and their implementation as programs. Problem solutions are developed with the help of an appropriate modeling language and then coded in an object-oriented programming language. (Consult the Computer Science Department for the languages and tools currently in use.) Topics such as problem specification, object-oriented analysis and design, standard data types, control structures, methods and parameter passing, and design for reuse are presented through a study of specific example problems and solutions. Style, documentation, solution robustness, and conformance with specifications are emphasized throughout. Three lecture hours and three hours of scheduled laboratory per week plus extensive programming work outside of class.
Prerequisite: ITE 105.

Credits: 4.00

ITE 310: Computer Networks

This course begins with an introduction to computer networks, including hardware, software, troubleshooting, and maintenance. IT professionals need to understand various components of the networking infrastructure of an organization as well as the various protocols and standards used to implement these infrastructures. TCP/IP stack will be presented with discussion of OSI layered model and data/control flow through each layer using top-down or bottom-up approaches. Understanding of networking protocols, TCP/IP stack and troubleshooting, and maintenance of networks will be given through class lectures as well as labs. Three lecture hours and three hours of scheduled laboratory per week.

Credits: 4.00

ITE 330: Web Systems

This course provides an introduction to web systems and technologies, including an overview of architecture of a website, implementation, evaluation and testing of web-based applications and programming aspects of web development (web content development, markup languages coding, client-side and serve-side application development). Topics include understanding of Web standards, description of basic components of a website, general principles of web interface design and development, use of databases, multimedia, and structure of the interface between a website and the Internet. Social, ethical and legal issues of web usage (e-commerce, social networks, etc.,.) will also be discussed. Three lecture hours and three hours of scheduled laboratory per week.
Prerequisites: ITE105, ITE201.

Credits: 4.00

Back to top