NORFOLK STATE UNIVERSITY
700 PARK AVENUE * NORFOLK, VIRGINIA * 23504
Robinson Technology Center (RTC)
Office:: (757) 823-9454     Fax: (757) 823-9229
Email: CompSci@nsu.edu

Computer Science Courses

UNDERGRADUATE COURSE SYLLABI & DESCRIPTIONS

  • CSC 101: INTRODUCTION TO THE COMPUTER SCIENCE PROFESSION
    CSC-101 Course Description

    An introduction to career opportunities for computer scientists and strategies to improve academic performance in the discipline. Course topics include lectures by computer science professionals and seminars on active coping, collaborative learning, pair programming, and the development of inclusive relationships.

    ×
  • ITE 111: INFORMATION TECHNOLOGY PRINCIPLES
    ITE-111 Course Description

    An introductory course that exposes students to the academic discipline of Information Technology (IT). Pervasive IT themes; IT history, organizational issues, ethical aspects and relationship of IT to other computing disciplines will be covered.

    ×
  • CSC 150: COMPUTER CONCEPTS AND APPLICATIONS
    CSC-150 Course Description

    This is an introductory course in the social impacts of computing technology. The course provides a brief introduction to digital literacy, The Internet, Computer ethics, and computer applications. It will focus on a number of areas in which computers and information technology are having an impact on society.

    ×
  • CSC 150H: COMPUTER CONCEPTS AND APPLICATIONS (HONORS)
    CSC-150H Course Description

    Honors CSC-150.

    ×
  • CSC 160: VISUAL BASIC PROGRAMMING
    CSC-160 Course Description

    Formerly Basic Programming (Visual Basic) An introductory course in problem analysis and Visual Basic Programming. Emphasis is placed on the orderly analysis of a problem and the programming and testing of that problem.

    ×
  • CSC 169: FOUNDATION OF COMPUTER SCIENCE
    CSC-169 Course Description

    An introductory course emphasizing the fundamental concepts of computer science. Topics include information representation, algorithms and problem solving, computer hardware and software and data manipulation.

    ×
  • CSC 170: COMPUTER PROGRAMMING I
    CSC-170 Course Description

    A first course in computer programming that introduces the basic C++ programming constructs and object-oriented programming techniques. The focus of this course is learning C++ programming language syntax, semantics and developing students’ abilities to apply the knowledge in transforming algorithms into C++ code. Additional topics include program designing skill enhancing, program debugging, and good programming styles promotion.

    ×
  • CSC 170A: COMPUTER PROGRAMMING I
    CSC-170A Course Description

    A first course in computer programming that introduces the basic C++ programming constructs and object-oriented programming techniques. The focus of this course is learning C++ programming language syntax, semantics and developing students’ abilities to apply the knowledge in transforming algorithms into C++ code. Additional topics include program designing skill enhancing, program debugging, and good programming styles promotion.

    ×
  • CSC 170L: COMPUTER PROGRAMMING I LAB
    CSC-170L Course Description

    Supplementary course to CSC-170 structured as a closed computer laboratory to complete specific programming tasks within a fixed time.

    ×
  • ITE 195: INTRODUCTION TO INTERNET PROGRAMMING
    ITE-195 Course Description

    This is a computer programming course concentrating on HTTP and Web-based application development. Starting with brief overview of web page design, HTML, Plug-ins and ActiveX controls embedding, XML and CSS, followed by introduction of various commonly used Internet programming languages. Learning (reviewing) and using JAVA programming language for web-enabling and savvy web/network application development will then be the main focus of the course.

    ×
  • CSC 200: ADVANCED COMPUTER CONCEPTS
    CSC-200 Course Description

    This is an advance computer course that prepares students to develop critical thinking, information literacy and problem solving skills. Primary emphasis will be on working with email, wireless networking, search engines, creating web pages, and presentation tools. These extensive computer hands-on exercises are mandatory and developed to allow learning by doing. A presentation project is required.

    ×
  • CSC 200H: ADVANCED COMPUTER CONCEPTS HONORS
    CSC-200H Course Description

    This is an advance computer course that prepares students to develop critical thinking, information literacy and problem solving skills. Primary emphasis will be on working with email, wireless networking, search engines, creating web pages, and presentation tools. These extensive computer hands-on exercises are mandatory and developed to allow learning by doing. A presentation project is required.

    ×
  • ITE 211: INFORMATION TECHNOLOGY OPERATING SYSTEMS
    ITE-211 Course Description

    An introduction to the basics of computer operating systems including file systems, configuration, interprocess communication, security, administration, interfacing, multitasking, and performance analysis.

    ×
  • CSC 260: COMPUTER PROGRAMMING II
    CSC-260 Course Description

    Introduction to data structures, algorithms and building objects. Topics include linked lists, stacks and queues, recursion and binary trees.

    ×
  • CSC 260L: COMPUTER PROGRAMMING II LAB
    CSC-260L Course Description

    Supplementary course to CSC-260 structured as a closed computer laboratory to complete specific programming tasks within a fixed time.

    ×
  • CSC 268: COMPUTER ORGANIZATION
    CSC-268 Course Description

    Fundamentals of the architecture and operation of modern computers. Computer arithmetic: binary, hexadecimal and decimal number conversions, binary number arithmetic and IEEE binary floating point number standard. Basic computer logic: gates, combinational circuits, sequential circuits, adders, ALU, SRAM and DRAM. Basic assembly language programming, basic Instruction Set Architecture (ISA), and the design of single cycle CPU. The MIPS based computers are used as example architecture, and alternative architectures are also discussed.

    ×
  • CSC 292: UNIX AND C PROGRAMMING
    CSC-268 Course Description

    An introduction to C programming in a UNIX environment. Course coursedesc includes the UNIX command interpreter Shell; the use of Shell scripts to create powerful tools and applications; and the development of application and systems programs using C.

    ×
  • CSC 295: JAVA APPLICATIONS PROGRAMMING
    CSC-292 Course Description

    The course is an introduction to the core Java language with emphasis on applications development which uses the latest Java class libraries such as Swing, Java 2D, and Java 3D. It is designed for students who are familiar with object-oriented programming in C++ and the fundamentals of the World Wide Web. The prerequisite course is CSC 260 Computer Programming II.

    ×
  • ITE 311: FUNDAMENTALS OF NETWORKING
    ITE-311 Course Description

    This is an introductory course that covers the basics of how networks work, including the topics of OSI model, Internet model, network components, LANs, WANs, routers, switches, wireless communication, network security, TCP/IP Internet protocols, and network applications such as web and email. It also covers the fundamental aspects of configuring and troubleshooting network features on a Windows or UNIX workstation.

    ×
  • CSC 312: TOPICS IN INFORMATION TECHNOLOGY
    CSC-312 Course Description

    This is an intermediate-level course for students who are interested in Networking. This course is designed to provide students with essential knowledge and skills that an effective network administrator must possess. It provides an overview of the essential TCP/IP protocols, and discusses how to properly configure and manage the network services based on these protocols (including DNS, DHCP, AD/LDAP directory services, print and file servers, NFS/NIS, and routing services). It also has a hands-on lab component for students to learn how to setup, configure, troubleshoot, and administer these network services in both Windows and Linux/Solaris environments.

    ×
  • CSC 313: NETWORK ADMINISTRATION
    CSC-313 Course Description

    This is an intermediate-level course for students who are interested in Networking. This course is designed to provide students with essential knowledge and skills that an effective network administrator must possess. It provides an overview of the essential TCP/IP protocols, and discusses how to properly configure and manage the network services based on these protocols (including DNS, DHCP, routing services, etc.). Students will learn how to setup, configure, troubleshoot, and administer these network services.

    ×
  • CSC 314: ADVANCED INTERNET PROGRAMMING
    CSC-314 Course Description

    A second Internet programming course concentrating on advanced Internet application development. Creation of relatively sophisticated web pages and application that allow interactions between web page users and the web page as well as network programming, JSP, JDBC, XML processing are the main focus of the course. Different Internet programming language and tools will also be included.

    ×
  • CSC 360: INTERFACE DESIGN AND IMPLEMENTATION
    CSC-360 Course Description

    An introduction to the techniques used for designing, implementing, and testing human-computer interfaces. Topics include design methods for creating user centered interfaces, interface implementation, techniques and tools for event driven programming, and interface testing and evaluation.

    ×
  • CSC 361: SURVEY OF PROGRAMMING LANGUAGES
    CSC-361 Course Description

    A one-semester course designed to survey, analyze and evaluate programming languages such as FORTRAN, PL/1, ALGOL, Pascal, APL, SNOBOL, Ada, Prolog, C, and LISP. Topics include: data structures and storage, control structures, execution environment, input/output, and the syntax and semantics of the languages.

    ×
  • CSC 369: THEORY OF COMPUTATION
    CSC-369 Course Description

    An introductory course in computing theory. Topics include sequential machines, formal languages and Turing machines, computable and non-computable functions, and finite state automata.

    ×
  • CSC 372: DATA STRUCTURES
    CSC-372 Course Description

    An analysis of data structures and algorithms using C++ as the implementation language. Detailed examination of lists, heaps, trees, graphs, file structures, and the use of formal methods. Emphasis is placed on the development and analysis of efficient algorithms.

    ×
  • CSC 380: SOFTWARE ENGINEERING
    CSC-380 Course Description

    An introduction to the design of software projects with the analysis, design, implementation, testing and maintenance of the software life cycle with emphasis on significant and varied writing components, including group projects paralleling realistic software development projects.

    ×
  • CSC 411: WEB SERVER ADMINISTRATION
    CSC-411 Course Description

    An introductory course providing individuals with the core skills needed to meet the demands of the Web development and Internet community. The three key skill areas focused in this course are Web management, content management, and technical management.

    ×
  • CSC 420: DATABASE PRINCIPLES & DESIGN
    CSC-420 Course Description

    An introductory course emphasizing the basic concepts and principles of database systems Topics include introductions to database systems and databases, different database system models, basic systems and language support (SQL) for database systems; relational modes, relational algebra and introductions to relational database design as well as overview of common database system issues.

    ×
  • CSC 422: DATABASE IMPLEMEMTATION
    CSC-422 Course Description

    A second database course for computer science majors with information system emphasis. Topics include database design methodology and tools, data organizations concepts, database applications design and implementation, database application programming using embedded SQL, and database administrations. Project(s) of more significant size and complexity will be completed during the semester.

    ×
  • CSC 430: DATA COMMUNICATION
    CSC-430 Course Description

    Study of principles of computer communication as well as hardware and software designs, including transmission media, data encoding, transmission techniques, protocols, switching networks, broadcast networks, and local area networks.

    ×
  • CSC 432: WIRELESS DATA NETWORKING
    CSC-432 Course Description

    An introduction to various wireless data network standards at a technical level. Emphasis will be on learning wireless network architectures for wireless LANs wireless PANs, broadband wireless access (BWA) and cellular data networks (3G and beyond).

    ×
  • CSC 435: COMPUTER SECURITY
    CSC-435 Course Description

    This course is designed for seniors and IT professionals to learn computer and network security theories and practices that can be used to significantly reduce the security vulnerability of computers on internal networks or the Internet. The course assumes some familiarity with various operating systems and computer networks. Topics include cryptography, program security, operating systems security, database security, network security, security administration, computer ethics and legal issues.

    ×
  • CSC 445: COMPUTER NETWORK DEFENSE
    CSC-445 Course Description

    A one-semester, undergraduate-level course focuses on computer network defense and countermeasures. It is designed to give students a solid foundation in network security fundamentals. The course covers both the conceptual and practical aspects of network security. It first reviews the threats to network security, the defense-in-depth strategy and technologies, and network security policy design and implementation. The course then explores the three key network defense technologies in depth: firewalls, intrusion detection and prevention systems, and virtual private network. An emphasis on labs and projects will provide students hands-on learning experiences in using popular open- source and "industry-standard" tools and solutions to implement a wide spectrum of defense measures to protect computer networks, and to detect, respond to, and recover from intrusion.

    ×
  • CSC 455: MANAGEMENT OF INFORMATION SECURITY
    CSC-455 Course Description

    course description.

    ×
  • CSC 464: OPERATING SYSTEMS
    CSC-464 Course Description

    An introduction to the history and evolution of operating systems, the concepts behind and structure of various operating systems, process scheduling, interprocess communication, input and output, multiptogramming, memory management and file systems. Concepts of distributed operating systems are also introduced.

    ×
  • CSC-466 Course Description

    Elective course for Computer Science.

    ×
  • CSC 467: ADVANCED COMPUTER TOPICS II
    CSC-467 Course Description

    A semester course that covers advanced topics in computer science that are not generally covered in the curriculum.

    ×
  • CSC 468: COMPUTER ARCHITECTURE
    CSC-468 Course Description

    An introduction to the building blocks for constructing computers such as datapath, pipeline, Cache, memories and arithmetic units, input and output, from the perspective of a system programmer. Many issues and techniques, such as memory hierarch, are addressed in the designing of the modern computers.

    ×
  • CSC 470: ARTIFICIAL INTELLIGENCE
    CSC-470 Course Description

    In-depth study of concepts and problem solving techniques of artificial intelligence, including knowledge representation, functional and logic programming, machine learning, natural language understanding, computer vision, robotics, and societal impact.

    ×
  • CSC-477 Course Description

    Advanced computer topics not generally covered in the curriculum. Designed as a Computer Science elective-- not as a replacement for any specific required course.

    ×
  • CSC 480: COMPUTER GRAPHICS
    CSC-480 Course Description

    Study of interactive computer graphics hardware and software: display devices, 2D and 3D geometric transformations, raster algorithms, representation of curves and surfaces, hidden line removal and surfaces, shading algorithms, and color graphics.

    ×
  • CSC 492: INDEPENDENT STUDY
    CSC-492 Course Description

    Supervised independent project designed to explore a single topic in a one-to-one learning relationship with a faculty member.

    ×
  • CSC 493: SYSTEMS PROGRAMMING
    CSC-493 Course Description

    Fundamentals of system and network programming methodology, techniques, system calls and library calls.

    ×
  • CSC 498: COMPUTER SCIENCE SEMINAR I
    CSC-498 Course Description

    Culminating course that allows students the opportunity to synthesize computer science knowledge and experiences through participation in a research project of the student's choice. Results of the research are presented to peers and other interested members of the computer science community.

    ×
  • CSC 499: COMPUTER SCIENCE SEMINAR II
    CSC-499 Course Description

    Culminating course that allows students the opportunity to synthesize computer science knowledge and experiences through participation in a research project of the student's choice. Results of the research are presented to peers and other interested members of the computer science community.

    ×