Professor Computer Science Department
The following is a brief listing of courses that Professor Re has taught or is currently teaching at Hofstra University.
Course Number | Course Name | Course Description | Level |
---|---|---|---|
CSC005 | Overview of Computer Science | ntroduction to fundamental concepts in computer hardware and software. Exploration of the history and evolution of computing, and foundational areas of current computer science research. Algorithms, program development, and problem solving. | Undergraduate |
CSC015 | Fundamentals of Computer Science 1 | Introduction to computer science with emphasis on problem solving, programming and algorithm design. Uses a high-level programming language for solving problems and emphasizing program design and development. Topics include basic programming constructs, expressions, functions, data types, arrays and strings. | Undergraduate |
CSC060 | Fundamentals of Networking | Introduction to networking. Peer-to-peer, LANs, and WANs. History and evolution of networking. Current applications. Communication protocols, Open Systems Interconnection, secure communications. Hardware and software issues. Structure of the Internet: pro | Undergraduate |
CSC110 | Introduction Computer Architecture | Internal structure of computers. Logic design: Boolean algebra, gates and flip-flops, synthesis of combinatorial networks, registers, serial and parallel organization, control mechanisms. Number systems and arithmetic, two's-complement arithmetic. Operating cycle, data and control flow in a typical computer. Interrupts, i/o devices, programmed i/o and DMA. | Undergraduate |
CSC110A | Computer Architecure Lab | Provides hands-on experience in using digital electronics by way of integrated circuits without engineering bias. Offers practical construction, testing and implementation of circuits useful in digital circuits and modules. | Undergraduate |
CSC111 | Assembly Programming | Organization of a computer: memory, addressing; number systems and conversion. Assemblers, base registers, relocation. Fixed-point numeric processing, string processing, indexing and iteration. Floating-point arithmetic and Boolean operations. Subroutines, macros, i/o channel programming. | Undergraduate |
CSC112 | Computer Operating Systems | A study of the internal design of operating systems. Topics include memory management, multiprogramming, virtual memory, paging and segmentation. Job and process scheduling; multiprocessor systems; device and file management; thrashing, cache memory. | Undergraduate |
CSC145G | Application Development with C# & .Net | Special topics course. Introduction to desktop application development using C# & .Net. An introduction to ADO .Net, three tierd busines model, SQL server and Windows application development. Students get a chance to build front end desktop applications that connect to a relational database. | Undergraduate |
CSC155 | Systems Programming | Introduction to UNIX-like operating systems, le systems, processes commands, shells, scripting languages, C-UNIX interface, interprocess communication, socket and network programming, and writing kernel modules. Students will be working on multiple programming projects. Good programming skills are expected. | Undergraduate |
CSC183 | Web Application Development | This course covers the foundational aspects of web application development. Topics include the following: the structure of the Internet; client-server applications; stateless web servers; web applications; using cookies to maintain state; servlets and server pages; database connectivity; rapid application development; and comparison of current technologies for web application development. | Undergraduate |
CSC184 | Mobile Device Programming | Introduction to the design and development of software for portable/handheld devices. Topics include the following: smartphones, tablets, and other media consumption devices and their characteristics and limitations; overview of user-interface design for mobile devices; event handling; differences between graphical user interfaces for the desktop environment and those for portable computers; handling touch input and gestures; connectivity using TCP/IP and SMS; local data storage and storage on the cloud; drawing and creating custom widgets; APIs for multimedia applications; and comparison of current technologies. | Undergraduate |
CSC197A | Independent Senior Design | Under faculty advisement students complete an integrative project in an area of computer science or computer engineering. A final project report, a poster, and a CD project portfolio are required. The course has an oral communication component. | Undergraduate |
CSC254 | Database Design | Study of database design and modeling; the relational model; relational algebra and calculus; normal forms; SQL query language; database application development; transaction processing; storage and indexing principles. | Graduate |
CSC256 | Advanced Operating Systems Design | Review of resource management and control functions of operating systems. Process management, memory management, file systems, distributed and multiprocessor systems. Concurrent processes, scheduling, mutual exclusion, synchronization. The CSP language for specifying communication patterns in interactive systems. Deadlock prevention, avoidance, and detection. Memory management paged and segmented allocation. The memory hierarchy, caching, virtual memory, page replacement algorithms, and their analyses. Protection and security. | Graduate |
CSC283 | Web Application Development | This course covers the foundational aspects of Web application development. Topics include: the structure of the Internet; client-server applications; stateless Web servers; Web applications; the Common Gateway Interface (CGI); using CGI to develop simple applications; using cookies to maintain state; common Web application stacks; servlets and server pages; writing custom tags; database connectivity; rapid application development; comparison of current technologies for Web application development. | Graduate |
CSC285 | Mobile Device Programming | This course covers the development of applications for network-enabled mobile devices. Topics include: cell phones, personal digital assistants (PDAs) and other small computational devices, their strengths and limitations; configurations and profiles; overview of programming mobile devices; standard and custom user interface elements and events; networking; record stores and persistence; text and multimedia messaging; drawing and animation using game application program interfaces (APIs) and 3D APIs; audio and video APIs; comparison of current technologies. | Graduate |
CSC290Z | Special Topic: Systems Programming | Introduction to UNIX-like operating systems, le systems, processes commands, shells, scripting languages, C-UNIX interface, interprocess communication, socket and network programming, and writing kernel modules. Students will be working on multiple programming projects. Good programming skills are expected. | Graduate |
CSC300 | Independent Projects | A one semester project course under the supervision of a faculty member for graduate students. | Graduate |
CSC302 | Thesis | This is an advanced project carried out by the student, under supervision of a faculty member. An oral presentation is required as well as a written thesis. | Graduate |
ENGG010 | Computer Programming for Engineers | Algorithms, programs and computers. Logic, flowcharting and programming of solutions to engineering problems. Introduction to the programming of numerical methods. Exercises utilizing analytical high-level software packages. | Undergraduate |