May 18, 2024  
2017-2018 Undergraduate Catalog 
    
2017-2018 Undergraduate Catalog [ARCHIVED CATALOG]

Computer Science Programs and Courses


View Department Information 

Computer Science

Programs

Bachelor of Science

Minor

Courses

Computer Science

  • CSC 105 Survey of Computer Science

    4 Credit(s)


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

     

  • CSC 110 Software Design and Programming I

    4 Credit(s) DII


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

     

  • CSC 115 Software Design and Programming II

    4 Credit(s)
    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.
  • CSC 212 Human-Computer Interfaces

    4 Credit(s)
    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 student who have received credit for CSC 312A. Prerequisite: CSC 115  or CSC 202J.
  • CSC 223 Microcomputing Systems

    4 Credit(s)
    The technology and functions of the microprocessor chip are discussed. Several different architectures are compared. Control functions, real-time techniques, interrupt processing, multiprocessing, and input/output operations are discussed from the microprocessor point of view. The role of high-level programming languages in microcomputer systems is treated. One or more specific microcomputer instruction sets will be used for programming assignments. Three lecture hours and two hours of scheduled laboratory per week. Not open to student who have received credit for CSC 330A. Prerequisites: CSC105 , and CSC110  or CSC201J, and PHS205 .
  • CSC 230 Real-time Computer Interfaces

    3 Credit(s)
    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 .
  • CSC 235 Computer Security Basics

    3 Credit(s)


    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 security information technology infrastructures.  Each of these three security areas is examined in sufficient detail for students to understand the complexity of modern threats and corresponding sophistication of the software and hardware that is designed to counter these threats. Prerequisites: CSC105  or CSC200A, and CSC110  or CSC201J.

     

  • CSC 246 Information Visualization

    4 Credit(s) DII Q
    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 , MAT 120 , and MAT 208  and above; plus CSC 110  or CSC 201J , or equivalent programming experience and permission of Department Chairperson.
  • CSC 260 Data Structures and Algorithms

    4 Credit(s)


    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: CSC105  or CSC200a, and CSC115  or CSC202J.

     

  • CSC 263 Database Systems

    4 Credit(s)
    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.
  • CSC 278 Scripting Techniques

    4 Credit(s)
    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. 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 prerequisite. Three hours of lecture and three hours of scheduled laboratory per week, plus programming work outside of class. Prerequisite: CSC115  or CSC202J.
  • CSC 279 C+C++

    4 Credit(s)
    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.
  • CSC 295 Computer Architecture and Organization

    3 Credit(s)
    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   or CSC 202J, and PHS 205 .
  • CSC 300 Software Engineering

    4 Credit(s) W W-II
    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: CSC 260  and completion of a W-I course.
  • CSC 315A Computer Networks and Data Communications

    4 Credit(s)
    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:  CSC 260  with grade of C+ or higher.
  • CSC 325 Advanced Programming Techniques

    4 Credit(s)
    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 .
  • CSC 340 Artificial Intelligence

    3 Credit(s)
    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 .
  • CSC 351 Software Engineering II

    4 Credit(s)
    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. Not open to students who have received credit for CSC 301.
    Prerequisite: CSC 300 ; CSC 263  strongly recommended.
  • CSC 367 Internship in Computer Science

    1-6 Credit(s)
    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 CSC 267 and CSC 367 credits may not exceed 6. Prerequisites: CSC 260  and permission of Department Chairperson.
  • CSC 376 Topics in Computer Science

    3 Credit(s)
    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. Not open to students who have received credit for CSC 430. Prerequisites: CSC 260 ; other prerequisites variable, depending on topic.
  • CSC 381 Operating System Principles

    3 Credit(s)
    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 student who have received credit for CSC 280. Prerequisite: CSC 260 .
  • CSC 400 Theory of Computation

    3 Credit(s)
    This course introduces the basic concepts underlying the theoretical study of computing and computers; formal languages, automata, Turing machines, computability, and computational complexity. Three lecture hours per week. Not open to student who have received credit for CSC 290. Prerequisites: CSC 260  and MAT 214 or MAT 214A .
  • CSC 415 Analysis of Algorithms

    3 Credit(s)
    Advanced concepts from data structures and general algorithms are discussed from both theoretical and applied viewpoints. Topics covered include multi lists, graph theory, searching and sorting algorithms, and general n-way tree structures. Techniques for analysis of algorithms for average and best/worst cases are presented. Laboratory work may involve programming in a high level language. Three lecture hours per week. Prerequisites: CSC 260  and  .
  • CSC 425 Computer Graphics and Games

    4 Credit(s)
    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 tool kits.  Three lecture hours and three hours of scheduled laboratory time per week, plus programming work outside of class.
    Prerequisites: MAT108  or MAT110  or any MAT course numbered 208 or above, plus CSC260 .
     
  • CSC 435 Computer and Network Security Engineering

    3 Credit(s)


    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 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. Three lecture hours per week.
    Prerequisites: CSC315A ; CSC279  strongly recommended.

     

     

     

     

  • CSC 445 Parallel Processing

    4 Credit(s)


     

    This course deals with the hardware and software aspects of multiprocessor systems (two or more processors in use simultaneously). The reasons for using such systems, including processor speed limitations and non-uniform capabilities of processors or computers, are examined. Basic hardware concepts such as machine models, parallel programs, networks, and performance and scalability are discussed. Relevant compiler and operating system concepts, programming models, and program development methodologies are introduced. Three lecture hours and one scheduled laboratory hour per week, plus additional laboratory work outside of class. Prerequisites: CSC 115  or CSC 202J, and CSC 295 .

  • CSC 475 Distributed and Cloud Computing

    4 Credit(s)
    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.
  • CSC 485 Robotics and Computer Vision

    4 Credit(s)
    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.
  • CSC 498 Project Specification and Design Practicum

    1 Credit(s)
    The practicum 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 proposal through all stages from initial outline to final formal specification. The completed proposal will serve as the contract for the CSC500  Directed Study project. The course involves periodic meetings, group discussions, and individual conferences. The practicum is graded on a Pass/Fail basis and is taught on a Directed Study basis. Open only to Computer Science majors. 
    Prerequisites: CSC300  and permission of department chairperson.
  • CSC 500 Directed Study in Computer Science I

    3 Credit(s)
    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 CSC498. Open only to Computer Science majors.
     Prerequisites:
    CSC 498 . Other prerequisites will vary with the project, and are at the discretion of the Faculty supervisor for that project.
  • CSC 501 Directed Study in Computer Science II

    3 Credit(s)
    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: CSC 498 . Additional prerequisites, which vary with the project, are at the discretion of the faculty supervisor for the project.
  • CSC 520 Computer Science Capstone Project Specifications

    1 Credit(s)
    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.
  • CSC 521 Computer Science Capstone Project

    3 Credit(s) w-III


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

  • ITC 183 Cyber-Security: A Personal & Professional Responsibility

    3 Credit(s) PGR
    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.
  • ITE 101 Survey of Computing

    3 Credit(s)
    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.
  • ITE 105 Problem Solving with Algorithms

    3 Credit(s)
    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. Prerequisisites: High school algebra I & II plus experience with a window-based operating system and the use of email and a word processor.
  • ITE 201 Fundamentals of Information Technology

    3 Credit(s)
    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: ITE 101 .
  • ITE 205 Software Design and Programming I

    3 Credit(s)
    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 .

First Year Seminar

  • FYCS 100 First Year Seminar - Computer Science

    3 Credit(s) FYS
    This course will introduce students to the experience of academic exploration that is at the heart of a liberal arts education. Through study of one or more compelling questions or topics in a small seminar setting, students will practice creative and critical thinking and will learn to express themselves effectively and appropriately in a college setting. They will develop relationships and practices that allow them to effectively utilize college resources and become members of a community of learners. The specific topic of the seminar will be developed by individual faculty and will be announced in advance. First year seminars are required for first-year students and transfer students with fewer than 15 credits. Not open to students who have received credit for IDS 189 or another first year seminar course.

Information Technology

  • ITC 100 Computers and Their Uses

    3 Credit(s) DII
    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.
  • ITC 117 Computing in the Professions

    3 Credit(s)
    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.
  • ITC 121 Web Graphics

    3 Credit(s)
    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.
  • ITC 131 Input Technologies for Text Processing

    3 Credit(s)
    This course is an introduction to incorporating the latest technologies for computer input, such as speech recognition and tablet handwriting recognition for the production of documents. Topics include basic word processing functions including creation, revision, editing, formatting, and proofreading. Three lecture hours per week. Prerequisite: Completion of the College’s Computer Literacy core requirement.
  • ITC 132 Computer-based Statistics

    3 Credit(s)
    This course deals with the computer implementation of common statistical procedures through software packages such as SPSS, BMDP or SAS. The use of basic descriptive statistics, frequency and contingency tables, correlation, regression, analysis of variance, and other procedures is illustrated through case studies and laboratory assignments. Attention is paid to design of experiments, selection and appropriate statistical procedures, and interpretation of results. No previous computer experience required. Three lecture hours per week. Credit for this course may not be applied to the major or minor in Computer Studies. Not open to student who have received credit for CSC132. Prerequisite: One course in applied statistics.
  • ITC 135 Computers and Planning

    3 Credit(s)
    This course presents a basic understanding of the use of computer application packages in planning. The course is intended for all students who want to get an idea of the help that computers can give in planning for many different disciplines. Examples will be used that will be of interest to Business, Education, Criminal Justice, Nursing, Computer Science and many other majors. Credit for this course may not be applied to the major or minor in Computer and Information Studies. Three lecture hours per week plus laboratory work outside of class. Not open to students who have received credit for CSC135. Prerequisite: Fulfillment of the Computer Literacy competency-based skills requirement.
  • ITC 146 Programming in Java with Internet Applications

    4 Credit(s)
    This course presents the principal features of the Java language, including the Java compiler, byte code, data types, standard control structures, classes, objects and methods. Abstraction mechanisms, threads, I/O streams, exception handling, and the use of run-time libraries are also covered. Effective program and output design are emphasized. Programming assignments include both stand-alone applications and the writing of applets designed for use within web pages. Credit for this course may not be applied to the major or minor in Computer and Information Studies. No more than one of the courses numbered ITC140 through 149 may be counted for degree credit. Not open to students who have received credit for CSC146, or CSC201 or CSC 110 . Prerequisites: High school Algebra I & II.
  • ITC 181 Fluency in Information Technology

    3 Credit(s) DII
    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.
  • ITC 184 Introduction to Computer Networks

    3 Credit(s)
    This course presents the principle features of computer networks, including hardware, software, troubleshooting, and maintenance. Effective problem-solving strategies and a methodical approach to network problems will be emphasized. Assignments will include both written work and the configuration of a simple network and the application of troubleshooting and maintenance procedures. Three lecture hours per week. Prerequisite: Fulfillment of the competency-based skills computer literacy requirement.
  • ITC 190 Problem Solving in Virtual Worlds

    3 Credit(s) DII
    This course is an introduction to the skill of problem solving. Students will learn skills to define problems, gather information, and think creatively in order to develop alternative ways of solving a particular problem. Topics include problem-solving methods, software development strategies such as top-down and bottom-up design, step-wise refinement, testing and debugging, and how to read, modify and develop simple algorithms. Algorithms will be implemented using 3D animation and/or virtual reality tools, such as Alice, Greenfoot, and/or Karel the Robot. Three lecture hours per week, plus laboratory work outside of class. Not open to students who have received credit for CSC190 or CSC201. Credit for this course may not be applied to the Major or Minor in Computer Studies. Prerequisites: High school Algebra I and II.
  • ITC 201 Web Programming with PHP/MySQL

    3 Credit(s) DII
    This course is an introduction to the open-source PHP language, including a comprehensive review of basic syntax and applications, and to the MySQL database standard. Students will learn to code, execute, test and install PHP applications, apply advanced PHP techniques to web page design, and implement websites that create and access remote databases in a variety of client-style applications. Topics will include: variables, functions, loops, arrays, string handling, files, and basic server applications. MySQL, a related web database application, will be introduced. Students will learn how to create databases, update tables, and perform advanced web functions integrating PHP with forms, CSS and Javascript. Three lecture hours per week. Prerequisite: ITC 181 .
  • ITC 241 Spreadsheet for the Professions

    3 Credit(s)
    An in-depth expansion of the spreadsheet topics introduced in ITC 117  will be presented. 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.
  • ITC 325 Database Applications in the Professions

    3 Credit(s)
    An in-depth expansion of the database topics introduced in ITC117 will be presented. Using the latest PC-based spreadsheet software, students will study project planning and design concepts, tables and defining relationships, querying and structured query language, advanced form report building, pivot Tables, macros and administering a database. Three lecture hours per week. Not open to students who have received credit for BTE325. Prerequisite: a passing grade on the College’s Computer Literacy Examination as verified by Department Chairperson or ITC 100  or ITC 117 .
  • ITC 500 Directed Study in information Technology

    3 Credit(s)
    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.
  • ITE 310 Computer Networks

    4 Credit(s)
    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. Prerequisites: ITE 105 , ITE 201 .
  • ITE 315 Information Security

    4 Credit(s)
    The course covers a unified view of information security that examines the closely related areas of information security, software security, networks, web security and forensics using a common set of underlying security principles.  Students will get an understanding of how to model secure environments and how to implement these starting from standalone computers, operating systems and then going towards distributed networks and web.  Each of the security areas is examined in sufficient detail for students to understand the complexity of modern threats and the corresponding sophistication of the software and hardware that is designed to counter these threats.  Three lecture hours and three hours of scheduled laboratory per week. Prerequisite: ITE 310 .
  • ITE 320 Information Management Systems

    4 Credit(s)
    It is the role of the IT professional to develop, deploy, manage and integrate data and information systems to support the organization.  At a fundamental level, Information Management Systems address these issues by providing mechanisms of storing, searching, updating, and retrieving information.  Underlying all of these functionalities are the concepts of a file and file organization, upon which is built the concept of an information management system.  This course presents the fundamental concepts of data organization architectures, database management system models and query languages, principles of data modeling, and techniques for managing a database environment.  Contemporary distributed network-based data storage mechanisms are also discussed.  Three lecture hours and three hours of scheduled laboratory per week. Prerequisites: ITE 105 , ITE 201 .
  • ITE 330 Web Systems

    4 Credit(s)
    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: ITE 105 , ITE 201 .
  • ITE 340 Human Computer Interaction

    3 Credit(s)
    This course is an introduction to the fundamentals of Human Computer Interaction (HCI), a discipline that focuses on designing highly usable software systems. The study of human-computer interaction enables system architects to design useful, efficient, and enjoyable computer interfaces. This course teaches the theory of human psychology, principles of computer systems, user interface design procedure, and programming practices behind effective human interaction with computer. The course considers the interdisciplinary nature of HCI and introduces various issues involved in using technologies for different purposes in the organizational and social contexts. The course will thus provide a background for students to practice system design, selection, evaluation, and use the knowledge of human characteristics, interactions styles, user and task analysis, and design and evaluation procedures. Three lecture hours per week.
    Prerequisites: ITE105 , ITE201 .
  • ITE 350 IT System Integration, Administration, and Management

    4 Credit(s)
    Virtually all organizations have IT needs. It is the role of the IT professional to design, select, apply, deploy and manage computing systems to support the organization. This course presents methods, tools, and techniques used to design, build, and administer a viable IT environment. It assumes prior knowledge of computer architecture, IT fundamentals, networking, programming, and information management. Topics to be presented include installing and configuring operating systems and applications, IT administrative activities, administrative domains, software requirements and testing, software acquisition and sourcing, integration and deployment, project management, testing and quality assurance, and system architecture. Three lecture hours per week and three hours of scheduled laboratory per week.
    Prerequisites: ITE315 , ITE320 , ITE330 .
  • ITE 410 Advanced Computer Networks

    4 Credit(s)
    This course offers an in-depth look at the top-down approach to networks, taking into consideration the requirements and goals, and understanding the methodologies and techniques involved in a complex network infrastructure. Topics include: identifying the needs and goals for building networks, logical and physical network design, addressing and numbering, switching and routing protocols, developing network security strategies, and selecting technologies and devices for campus and enterprise networks. Four lecture hours per week.
    Prerequisite: ITE315  
  • ITE 420 Database Administration

    4 Credit(s)
    A database administrator (DBA) directs or performs all activities related to maintaining a successful database environment. This course demonstrates the fundamental tasks and functions required of a DBA. The topics of this course include understanding the role of DBA, creating the database environment, application design, database change management, data availability, data integrity, database security, database management system utilized, the concepts and procedures presented in this course are typical for any database management system server. Four lecture hours per week.
    Prerequisite: ITE320  or by permission of the Department Chair person.
  • ITE 501 Information Technology Capstone Project Specification

    1 Credit(s)
    This course sets up a typical environment for the development of a detailed proposal for a software- or hardware- Information Technology based 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 ITE505  Information Technology 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 department faculty and students. This course is graded on a Pass/Fail basis and is taught on a Directed Study basis. Open only to Information Technology majors.
    Prerequisite: ITE350  and permission of the program coordinator/department chairperson (as appropriate). Additional prerequisites, which vary with the project.
  • ITE 505 Information Technology Capstone Project

    3 Credit(s)
    A substantial project involving system design and implementation is carried out on an individual basis under the supervision of a faculty member. The specification for the capstone must have been completed in the prerequisite course ITE501 . A presentation of the completed project will be made to the department 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 Information Technology majors.
    Prerequisites: ITE501  and permission of the department chairperson.