Computer Science (CSC)
Division: Mathematics, Engineering Technologies and Computer Sciences (METCS) Division
This course introduces the elementary concepts of computer science and is specifically designed for students planning to major in the discipline. The course emphasizes the various aspects of computing such as problem solving, algorithm design, and program construction. Students also explore the application of computer science to various real-world problems. An object-oriented programming language is used to develop the student’s problem solving and programming skills. Note: Successful completion of programming projects requires students to use a computer laboratory outside of the class period.
Pre-requisites: ((Companion Arithmetic with a score of 069 and Companion Elementary Algebra with a score of 076) or (Arithmetic (Next-Gen) with a score of 260 and Quant,Algebra,Stats(Next-Gen) with a score of 260) or (Bilingual Computation with a score of 20 and Bilingual Algebra with a score of 19) or Move Up Math 092 with a score of P or MTH 092 Summer Bridge with a score of P or TRANSFERRED COLLEGE LEVEL MATH with a score of 898 or Elig. for Math 100,101,103 with a score of 905 or Pre-reg. COLG math waiver only with a score of 908 or SAT/ACT Elig for Mth 100 with a score of 994) or COLLEGE DEGREE with a score of 988 or SAT/ACT Elig Eng101 Mth100 with a score of 995 or Transf. Eng 101 Mth 100 with a score of 999
This course is an introduction to microcomputer hardware and network operating system components. It includes examination of microprocessors, ports, databases, video displays, basic network operating systems, and network topologies. The course emphasizes the introductory topics that are necessary for a student who plans a career in network technology.
This course is an introduction to programming and problem-solving skills for engineering technology majors using high level programming languages. Topics include basic strategies for problem solving, constructs that control the flow execution of a program and the use of high-level data tyypes such as lists, strings, and dictionaries in problem representation as well as algorithm design, programming languages and abstraction, with applications. The course will also present an overview of selected "big idea" topics in computing.
Pre-requisites: MTH 100 with a minimum grade of C or MTH 113 with a minimum grade of C or MTH 114 with a minimum grade of C or MTH 119 with a minimum grade of C or MTH 120 with a minimum grade of C or MTH 213 with a minimum grade of C
This course is an introduction to computer-oriented problem solving and programming and their applications in engineering. It provides the essential foundation for a program of study in object-oriented programming and computer-oriented mathematics. It covers the general areas of data analysis (graphics, sorting, and statistics), curve fitting (regression and interpolation), and equation solving. Students learn programming and the use of general-purpose application software tools such as spreadsheets, database, and mathematical software. Students are required to complete a series of laboratory assignments illustrating applications of computer-oriented problem solving.
Pre-requisites: MTH 113 with a minimum grade of C or MTH 119 with a minimum grade of C
Students will be introduced to Linux/UNIX as an open-source computing environment. They will learn how to install and configure Linux/UNIX as both a server operating system and as a desktop operating system. On the server side they will learn how to set up and configure basic network services. On the desktop side they will learn to set up and configure a graphical environment and will learn how to install and configure office-suite applications. Students will become familiar with the UNIX file system structure, editors and shell programming. Students will learn networking in UNIX as well as basic system administration, and be able to contrast and compare UNIX with Linux.
This course introduces the design and analysis of computer communication networks. The topics covered during the first half of the semester are the architecture, structure, functions, components, and models of the Internet and computer networks. The principles of IP addressing and fundamentals of Ethernet concepts, media, and operations are introduced to provide a foundation for the curriculum. The topics covered during the second half of the semester are architecture, components, and operations of routers and switches in a small network. Student learn how to configure a router and switch for basic functionality.
Pre-requisites: CSC 104 with a minimum grade of C
The course provides a foundation in network security fundamentals for those responsible for protecting network services, devices, traffic and data. The topics include the current risks and threats to an organization’s data together with a structured way of addressing the safeguarding of these critical assets. Additionally, the course provides the broad-based knowledge necessary to prepare students for further study in other specialized security fields and prepare the to take the Security+ certification.
Pre-requisites: CSC 104 with a minimum grade of C
This course serves as an introduction to the concepts and methodologies fundamental to computer science. Emphasis is placed upon object-oriented design and analysis with a thorough discussion of the concepts and principles associated with object-oriented programming. A high level object-oriented language is utilized for programming assignments and to illustrate conceptual material. It is recommended that a student be enrolled concurrently in either MTH 113 or MTH 119 to derive the most benefit from the course.
This course explores further the concepts introduced in CSC 121, applying them to more complex problems. Areas covered include class construction, class instantiation, file/stream processing, list processing, string processing, dynamic storage allocation, and internal search/sort methods.
Pre-requisites: CSC 121 with a minimum grade of C
This course provides students with the working knowledge required to program Java applications. Students will learn how the Java language supports object-oriented programming, and how object-oriented designs can be implemented in Java. Through lectures, discussions and programming projects, students will develop both conceptual and practical knowledge enabling them to build Java applications from analysis and design to implementation.
Pre-requisites: ((Companion Arithmetic with a score of 069 and Companion Elementary Algebra with a score of 076) or (Arithmetic (Next-Gen) with a score of 260 and Quant,Algebra,Stats(Next-Gen) with a score of 260) or (Bilingual Computation with a score of 20 and Bilingual Algebra with a score of 19) or MTH 092 with a minimum grade of C or Move Up Math 092 with a score of P or MTH 092 Summer Bridge with a score of P or TRANSFERRED COLLEGE LEVEL MATH with a score of 898 or Elig. for Math 100,101,103 with a score of 905 or Pre-reg. COLG math waiver only with a score of 908 or SAT/ACT Elig for Mth 100 with a score of 994) or COLLEGE DEGREE with a score of 988 or SAT/ACT Elig Eng101 Mth100 with a score of 995 or Transf. Eng 101 Mth 100 with a score of 999
This course discusses the concepts and skills required to plan, design and build web applications. The topics include Web document structure, HTML5 tags, Cascading Style Sheets (CSS) and JavaScript with a focus on user interaction enabled by programming the web browsers.
This course introduces how to configure router and switches for advanced functionality and the selection criteria of network devices and WAN technologies to meet network requirements. The topics covered during the first half of the semester are the architecture, components, and operations of routers and switches in a large and complex network. The topics covered during the second half of the semester are WAN technologies and network services required by converged application in a complex network.
Pre-requisites: CSC 114 with a minimum grade of C
This course provides a general introduction to the structure of computer systems and covers Assembly language for a specific computer. Topics discussed include machine components and cycles, assemblers, addressing techniques, macros, subroutines, program linkage, and input/output. A specific Assembly language is developed and implemented. Students must be prepared for extensive individual work in the computer laboratory.
Pre-requisites: CSC 122 with a minimum grade of C
This course introduces the philosophical tools, social expectations, professional standards and legal requirements for analyzing ethical issues raised by computing technology. This background will be used to explore, using case studies, some of the ethical issues related to privacy, intellectual property, ownership, crime, data collection, data security, hacking, automation, freedom of information and intellectual property.
Pre-requisites: (ENG 101 with a minimum grade of C) and (CSC 121 with a minimum grade of C or CSC 137 with a minimum grade of C)
This course is designed to present the fundamentals of data structures from object-oriented perspective. The course introduces students to the design and implementation of abstract data types using an object-oriented programming language. The course includes an introduction to algorithm analysis, recursion, and internal and external sorting/searching methods. The fundamental concepts of inheritance and virtual functions are also examined. Students are required to complete a series of programming projects that demonstrate their understanding of lecture topics.
Pre-requisites: CSC 122 with a minimum grade of C
This course introduces advanced security technologies and practices to defend and protect network systems. The topics include the essential security practices of hardening network systems through the use of firewalls and Intrusion Detection systems. Tools and techniques including hacker tools, methods, scripts and automated hacking malware employed in today’s cyber environment are examined to analyze traffic and intrusion. The processes and procedures used by hackers, along with corresponding countermeasures that can be employed to protect against such attacks are investigated.
Pre-requisites: CSC 114 with a minimum grade of C
This course examines the concepts, designs, and operations of modern real-time, general-purpose operating systems. The course covers fundamental operating system technology as well as contemporary design principles such as real-time systems, multiprocessor scheduling, memory management, file management, and security and network processing. Students are required to complete a selected series of programming projects that illustrate operating system design principles.
Pre-requisites: CSC 225 with a minimum grade of C
This course examines forensics from a computer science perspective: fundamentals of computer forensics and electronic discovery. Topics covered include technical and formal methodologies for conducting security incident investigations; file systems and storage analysis, data hiding techniques, network forensics, and projects involving design and use of digital forensic tools.
Pre-requisites: CSC 114 with a minimum grade of C
This course introduces the concepts and techniques associated with the manipulation of mass storage based files. Topics explored include various file processing environments, access methods, typical data structures, and file design and implementation. Students must be prepared for extensive individual work in the computer laboratory.
Pre-requisites: CSC 122 with a minimum grade of C
This course provides students with the essential concepts, principles, and techniques of modern database systems. This course covers the principles for the design and techniques of database modeling, and database system architecture, query optimization, query processing, and transactions and user/program interfaces. Building systems that have a relational database as a backend and the Web as a frontend, data mining and data warehousing will be introduced as class projects.
Pre-requisites: CSC 231 with a minimum grade of C
This course covers the object-oriented paradigm associated with programming in a network environment. The course focuses on topics that relate to developing object-oriented applications for the Internet, Intranets, and World Wide Web. The Java programming language is used to illustrate software development for network environments. Topics covered include applet construction, animation, class construction, exception handling, graphics, HTML interfacing, and graphical user interface design. Students are required to develop and implement a network application.
Pre-requisites: CSC 225 with a minimum grade of C
This course continues effective hands on instruction in the Java object-oriented language that was begun in CSC 137. Topics may include object-oriented design solutions, exception handling, manipulating files and databases, and graphical user interfaces, multimedia based application and network application. Students will build Java Platform, Enterprise Edition (Java EE) applications that use Enterprise JavaBeans (EJB) and the Java Persistence API (JPA), a layered architectural framework.
Pre-requisites: CSC 137 with a minimum grade of C
The student will develop a proposal for a capstone project and then will complete the project as an independent study with faculty mentor oversight. Students will use and integrate concepts and skills learned in other courses in the Software Development Technology and/or Cyber Security and Network Technology curricula. Upon completion of the project, the student will make a written report and an oral presentation.
This course covers Internet applications and concepts from client/server programming to 3-tier architectures. HTML, JavaScript, the Document Object Model, basic HTTP, XML, DTD’s and Cascading Style Sheets are introduced as tools for illustrating methods for exchanging, structuring and presenting information. A database (such as DB2), SQL, and a server-side language (such as JSP) are used to implement 3-tier applications.
Pre-requisites: CSC 137 with a minimum grade of C
This course will introduce the tasks and techniques required to perform as a system administrator of Linux systems and introduce the building blocks of most cloud computing solutions. Topics include booting, process control, the file system, managing users and resources, backups, configuration management, networking, the network file system, email servers, security, hardware devices, interoperability, and daemons. An overview of cloud concepts including delivery models, provisioning, service management, monitoring, and best practices are introduced.
Pre-requisites: CSC 113 with a minimum grade of C
This course introduces students to the specific skills needed to develop native applications for mobile devices. Students learn how to design and develop mobile applications that run in an Android or iOS environment. The topics include the essential application programming interfaces (APIs) and tools that enable the development, back-end integration, security, and management of cross-platform mobile applications. A significant project is integrated into the course.
Pre-requisites: CSC 137 with a minimum grade of C
This course offers internship opportunities to students. Placements in a variety of private, non-profit, and public agencies are designed to encourage both pre-professional training and the integration of field and classroom experiences. An internship requires that students engage in supervised academic study through participation in an applied setting.