Dr. Krishnendu Roy, Department Head
Room 2106 Nevins Hall
The Department of Computer Science offers a Bachelor of Science degree in Computer Science, a Bachelor of Science degree in Computer Information Systems, and a minor in Computer Science. The Bachelor of Science in Computer Science is accredited by the Computing Accreditation Commission of ABET.
The undergraduate curriculum is continually updated by the experienced and highly qualified faculty. The students of Computer Science Department at Valdosta State University benefit from a program that is cutting-edge and state-of-the-art; a congenial faculty; and an active and diverse student population. The programs in the department are designed to give the students the basic knowledge, skills, and values that build upon the foundation provided by the University Core Curriculum and that are required for professional careers in computing sciences. Moreover, through a series of sequenced courses, the department prepares the students for more advanced study, either at the graduate level or through company training programs. The requirements of the programs have been designed in keeping with national norms of excellence and according to well established model curricula where they exist. The department has a strong commitment to fostering undergraduate research and critical thinking skills.
The Program Educational Objectives (PEO’s) for the Computer Science program are:
- Graduates will distinguish themselves in breadth of perspective and the ability to solve complex problems.
- Graduates will work effectively in groups that include other computer scientists, and stakeholders from other disciplines, effectively communicating with their peers, customers, supervisors, and others through both written and oral means.
- Graduates will know how to teach themselves new concepts and technologies, remaining current in their field through the pursuit of lifelong learning.
After completing the CS Program, students will be able to:
- Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
- Apply computer science theory and software development fundamentals to produce computing-based solutions.
Jobs in the field of computer science and computer information systems are in high demand and graduates in these disciplines are prepared for a variety of positions such as systems and applications programmers, analysts, software engineers and various other computer specialist positions.
Computer Science
CS 1000. Introduction to Microcomputers and Applications. 3 Hours.
Computing technology and concepts; applications of personal computers. Topics include hardware and software terminology, word processing, spreadsheets, e-mail, the Internet, the microcomputer’s operating system and its use, ethics, and current trends in the use of computers. A hands on laboratory is integrated with the course.
CS 1003. Introduction to Interactive Media. 3 Hours.
An introduction to tools designed for interactive multimedia, using the Processing language, developed for the electronic arts and visual design communities. Through intensive and immersive laboratory exercises, student will learn valuable programming fundamental and essential concepts from graphics, audio processing and human-computer interaction.
CS 1010. Algorithmic Problem Solving. 3 Hours.
An introduction to algorithm design and programming as components of the software life cycle, with emphasis on the development of algorithms for solving problems; introduction to the development environment for a particular programming language.
CS 1020. Website Design and Development. 3 Hours.
The design and development of websites. The course covers a brief history of the Internet and the World Wide Web, Hypertext Markup Language, Cascading Style Sheets, website authoring tools, basic graphics, website design principles, as well as personal, educational and e-commerce applications.
CS 1301. Principles of Programming I. 4 Hours.
Prerequisite: MATH 1101 or MATH 1111 or MATH 1112 or MATH 1113 or MATH 1261 or MATH 2261 or MATH 2262, with a grade of "C" or better. Programming-language syntax and semantics; problem solving; algorithm design and implementation using modern programming paradigms and techniques; data types and elementary data structures. This course involves extensive programming activities. Students without strong math and programming background are encouraged to take CS 1010 first.
CS 1302. Principles of Programming II. 4 Hours.
Prerequisite: CS 1301 with a grade of “C” or better. A study of advanced object-oriented programming. The course involves extensive programming that includes inheritance, polymorphism, dynamic binding, object composition, exception handling, file I/O, GUI, class diagrams, and unit testing.
CS 1340. Computing for Scientists. 3 Hours.
CS 2620. Discrete Structures. 3 Hours.
Prerequisite: MATH 1111, MATH 1112, or MATH 1113 or MATH 1261 or MATH 2261, with a grade of C or better. Propositional and predicate logic mathematical induction, and recursion. Sets, relations, functions. Graphs and trees. Boolean algebra and computer logic. Finite state machines and computability.
CS 3000. Tutoring in Computer Science I. 2 Hours.
Prerequisite or corequisite: CS 3410 or consent of instructor. Graded “Satisfactory” or “Unsatisfactory.” Fundamentals of one-on-one tutoring in computer science. Review of the principles in programming, including programming language syntax and semantics; problem solving; algorithm design and implementation using current paradigms; data types and data structures; theory and applications of stacks, queues, lists, and binary trees; recursion; and file processing. Introduction to techniques and guidelines for tutoring. Designed for the Tutoring Center tutors in computer science.
CS 3001. Tutoring in Computer Science II. 1 Hour.
Prerequisite: CS 3000. Graded “Satisfactory” or “Unsatisfactory.” Advanced techniques for one-on-one tutoring in computer science. Review of discrete structures, computer organization, and advanced programming principles. Identification and discussion of effective methods for correcting common problems and misconceptions encountered by beginning and intermediate programming students. Discussion of techniques with less experienced tutors. Designed for the Tutoring Center tutors in computer science.
CS 3101. Computer Organization. 3 Hours.
Prerequisite: CS 1302 with a grade of “C” or better. An overview of computer organization and design including Boolean algebra, combinational and sequential circuits, data representation, register transfer and micro operations, CPU organization, microprogrammed control, and machine language programming.
CS 3102. Assembly Language. 3 Hours.
Prerequisite: CS 3101 with a grade of “C” or better. A continuation of CS 3101 with emphasis on machine and assembly language instruction and programming techniques, addressing modes, data representations, I/O, and the assembly process.
CS 3200. Security and Ethics in Computing. 3 Hours.
Prerequisite: CS 1301 with a "C" or better. An overview of principles of secure computing, and cyberethics, and the impact of cybertechnology on the ethical, legal, and technological issues in society. Topics include ethical principles, professional code of ethics, security practices, cybercrime and law, censorship and intellectual property protection on cyberspace, and emerging and converging technologies.
CS 3300. UNIX Programming. 3 Hours.
Prerequisite: CS 1302 with a grade of “C” or better. An overview of UNIX and shell programming. UNIX file and process systems, commands, regular expressions and their use in filters, programming environment, and shell scripting are introduced.
CS 3335. The C Programming Language. 3 Hours.
Prerequisite: CS 1302 with a grade of “C” or better. Programming using C programming language that includes C preprocessor and libraries, standard and file I/O, memory handling, and stylistic consideration. The course includes basic understanding of UNIX to write, execute, test, and debug C programs.
CS 3340. Web Programming. 3 Hours.
Prerequisite: CS 1302 with a grade of “C” or better. A study of the fundamentals of web-based computing, including HTML, CSS, client-side scripting and APIs, server-side programming, state management, and data access.
CS 3410. Data Structures. 3 Hours.
Prerequisite: CS 1302 and CS 2620 with a grade of C or better. Trees, graphs, and other forms of data structures and their implementations. Emphasizing abstract data types; static memory allocation vs. dynamic storage allocation; searching, hashing, and sorting methods; algorithm analysis.
CS 3520. Algorithms. 3 Hours.
Prerequisite: CS 3410 with a grade of “C” or better. Sequential and parallel algorithms for solving a variety of different problems; paradigms for algorithms; algorithm analysis; NP-complete problems.
CS 3700. Introduction to E-Commerce. 3 Hours.
Prerequisite: CS 1302 with a grade of “C” or better. An introduction to e-commerce trends, technologies, and strategies. Topics include the importance and impact of e-commerce, business-to-consumer, business-to-business, wireless networks, mobile commerce, online marketing, web services, supply chains, electronic payment, security, and legal issues.
CS 3750. Introduction to Cybersecurity. 3 Hours.
Prerequisite: CS 1302 and CS 2620 with a grade of "C" or better. A study of the basic concepts related to strengths and weaknesses of a computing system. Topics include forms of malware, threats to and attacks on computers, applications, and networks; mechanisms and tools to detect and deter cyber-attacks and to secure a system; and standard security goals, principles, models, policies, and practices.
CS 4121. Data Communications and Networks I. 3 Hours.
Prerequisites: CS 3410 with a grade of “C” or better. A study of the basic concepts of data communications and computer networks, emphasizing hands-on experience. Cloud computing, TCP/IP model and related protocols, packet switching, local area networks, and network security are addressed.
CS 4122. Data Communications and Networks II. 3 Hours.
Prerequisite: CS 4121 with a grade of “C” or better. A continuation of CS 4121 in which advanced topics in data communication and networking are studied.
CS 4242. Mobile Application Development. 3 Hours.
Prerequisite: CS 3410 with a grade of "C" or better. An introduction to mobile application development for the Android platform. Topics include activity lifecycle, intents, fragments, location tracking, SQLite, and maps. The course culminates in a substantial project.
CS 4321. Software Engineering I. 3 Hours.
Prerequisite: CS 3410 with a grade of “C” or better. A study of the concepts and techniques used in all aspects of the software life-cycle relevant to the production of large object-oriented software systems with emphasis on Agile methodologies. Students will work in teams on a project.
CS 4322. Software Engineering II. 3 Hours.
Prerequisite: CS 4321 with a grade of “C” or better. Advanced topics in software engineering, such as analysis, design, architecture, testing, and maintenance.
CS 4330. Theory of Programming Languages. 3 Hours.
Prerequisite: CS 3410 with a grade of C or better. Formal description of programming languages, standard and advanced features of modern programming languages, complexity.
CS 4340. Systems Programming. 3 Hours.
Prerequisites: CS 3335 and CS 3410, each with a grade of “C” or better. Implementation of concepts pertaining to the UNIX environment: process control and interprocess communication, job control, file and directory structures, and client/server processes.
CS 4345. Operating Systems. 3 Hours.
Prerequisites: CS 3101 and CS 3410, each with a grade of “C” or better. An overview of structures, components, and services of a general-purpose operating system. Topics include kernel designs, process management and synchronization, memory management, I/O system, and file systems. An overview of distributed systems is also included.
CS 4500. Formal Languages and Automata Theory. 3 Hours.
Prerequisites: CS 3410 with a grade of C or better. Concepts pertaining to regular expressions, finite state machines, regular languages, regular grammars, non-regular languages, decidability, context-free grammars, and Turing machines.
CS 4625. Network and System Security. 3 Hours.
Prerequisites: CS 3750 and 4121 with a grade of "C" or better. A survey of advanced theories and practices of cybersecurity, emphasizing hands-on experiments with cybersecurity tools. Students work individually and in groups within a controlled environment, to examine strategies of cyberattacks targeting a network or system and to test counter-measure techniques.
CS 4635. Digital Forensics. 3 Hours.
Prerequisite: CS 3410 with a grade of "C" or better. A survey of the fundamentals of digital forensic investigation and use of computer forensics tools. Topics include core forensics procedures to ensure court admissibility of evidence as well as the legal and ethical implications, and forensic investigation and analysis on both Unix/Linx and Windows systems.
CS 4700. E-Commerce Design. 3 Hours.
Prerequisite: CS 3410 with a grade of “C” or better. An in-depth study of e-commerce implementation. Through programming projects, students will learn e-commerce design principles, tools, and techniques.
CS 4721. Database Design I. 3 Hours.
Prerequisite: CS 3410 with a grade of “C” or better. A study of the logical design and organization of databases using the entity-relationship model, the hierarchical model, the network model, the relational model, relational algebra, functional dependencies, and normal forms. Students learn SQL statements for creating, querying, and managing databases, and query optimization.
CS 4722. Database Design II. 3 Hours.
Prerequisite: CS 4721 with a grade of “C” or better. An in-depth study of advanced database design and implementation concepts including transaction processing, concurrency, control techniques, recovery techniques, distributed databases and client/server architecture, and security and authorization.
CS 4731. Introduction to Big Data and Machine Learning. 3 Hours.
Prerequisites: CS 3410 with a grade of "C" or better. The theory and implementation of algorithms to solve industry problems.
CS 4800. Internship in Computer Science. 3-6 Hours.
Prerequisites: Junior or senior standing, a minimum 2.5 GPA, and permission of the internship coordinator and Department Head. Graded “Satisfactory” or “Unsatisfactory.” Active participation in research or development in computer science or in a closely allied field. A daily log of activities, a report on the work done, and a report on the internship experience or a research paper relating the work done to the field of computer science are required. Students planning to take this course should submit the Internship Approval Form which will be evaluated by a faculty committee.
CS 4820. Artificial Intelligence. 3 Hours.
Prerequisites CS 3410 With a grade of C or better. A study of theories and techniques associated with Deep Learning (DL) as a specific field of Artificial Intelligence. The course covers various aspects of DL and shows how they can be useful in practical applications.
CS 4830. Computer Graphics. 3 Hours.
Prerequisites: CS 3410 with a grade of “C” or better. A survey of graphics systems and graphics programming. Topics include output primitives, transformations and viewing, modeling, user interfaces, and interactive methods. Both 2-D and 3-D concepts are discussed.
CS 4835. Parallel Programming. 3 Hours.
Prerequisite: CS 3335 with a grade of "C" or better. Introduction to data parallel architectures, models, and programming environments. Students will design, develop, and optimize software for parallel computing resources.
CS 4840. Full-Stack Web Programming. 3 Hours.
Prerequisites: CS 3410 and 3300 with a grade of "C" or better. A project-driven course where students will work throughout the complete Web application development lifecycle and learn both the front-end and back-end Web development technologies in web API services.
CS 4884. Biometric Recognition. 3 Hours.
Prerequisites: CS 3410 with a grade of "C" or better. An introduction to fundamental principles and applications of biometrics. Topics include design, implementation, and performance evaluation of biometric systems, fingerprint recognition, iris recognition, face recognition, multi-biometrics, attacks in biometric systems, and biometric system security.
CS 4900. Senior Seminar. 3 Hours.
Prerequisites: CS 3410, each with a grade of "C" or better, and senior standing. A capstone experience intended primarily for computer science majors that involves group development and management of a substantial software project using current technologies and culminating in an oral presentation, product demonstration, and formal report. Advanced programming skills are used in this course.
CS 4950. Directed Study in Computer Science. 1-3 Hours.
Prerequisite: Consent of instructor. The student will undertake at least one major computer-science project under the supervision of the instructor. Credit will be assigned on the basis of the effort required by the project. May be taken more than once if topics are different.
CS 4990. Topics in Computer Science. 1-3 Hours.
Prerequisite: Consent of instructor. Topics to be assigned. May be taken more than once if topics are different.
Engineering Technology
ENGT 2010. Introduction to Engineering Technology. 3 Hours.
Introduction to engineering and engineering technology disciplines that form the basis for a variety of career opportunities; engineering design as creative problem solving; lessons from design failures; professionalism and ethics; and problem solving using industry standard software.
ENGT 2500. Engineering Graphics for Design. 3 Hours.
An introduction to engineering design and three-dimensional visualization, geometric construction, graphical projection and sketching, descriptive geometry, and computer graphics.
ENGT 2510. Statistics in Engineering Technology. 3 Hours.
Study and application of probability theory in the solution of industrial and manufacturing problems. Topics include descriptive statistics, hypothesis testing, probability and the normal curve, inferential statistics, confidence intervals and computer applications.
ENGT 2520. Engineering Economics. 3 Hours.
Prerequisites: MATH 1111, 1112, or 1113. Deals with aspects of investment analysis relating to equipment justification, retirement and replacement in industry; includes the evaluation of decision alternatives using different economic criteria.
ENGT 2530. Statics. 3 Hours.
Prerequisite: PHYS 1111K or 2211K. Selected topics of statics including equilibrium conditions, summation of forces and moment of a force in 2D and 3D; centroid, distributed loads, internal forces in trusses, frames and machines, and shear and moment diagrams in beams.
ENGT 3100. Six Sigma and Lean Manufacturing. 3 Hours.
A combination of lean manufacturing and Six Sigma to learn how to use collaborative team effort to improve performance by systematically removing waste and reducing variation.
ENGT 3120. Plant Layout and Material Handling. 3 Hours.
A study of using material flow in facility design and facility location for optimization of facility performance.
ENGT 3130. Industrial Cost Control. 3 Hours.
Examination of the factors associated with cost measurement and control in both manufacturing and non-manufacturing industries.
ENGT 3140. Simulation Modeling of Industrial Systems. 3 Hours.
Prerequisite: CS 1340 or CS 1301 or MATH 2261. Study of computer simulation and modeling analysis and its application to manufacturing, industrial, inventory, and distribution systems, including the use of statistical techniques.
ENGT 3150. Supply Chain and Logistics Concepts. 3 Hours.
Principles of decision making and problem solving to reduce challenges and optimize solutions around purchasing, inventory, and transportation.
ENGT 3500. Engineering Graphics for Design II. 3 Hours.
Prerequisite: ENGT 2500 and MATH 1111. Detail and assembly drawings of machines and machine elements including the design and fabrication of machine parts using geometric dimensioning and tolerancing; parametric design and solid modeling software is used.
ENGT 3510. Advanced Statistics in Engineering Technology. 3 Hours.
Prerequisite: ENGT 2510. Use statistical theory to solve industrial and manufacturing problems, including chi-squared contingency tables and goodness of fit tests, regression analysis, one-way and two-way ANOVA, multiple range tests, and experimental design,.
ENGT 3520. Industrial Safety Engineering. 3 Hours.
Introduction to the principles and practices of accident prevention and industrial hygiene and safety with emphasis on OSHA requirements.
ENGT 3530. Introduction to Manufacturing Systems. 3 Hours.
Study of methods to analyze manufacturing systems and components including material flow and storage, information flow, capacities and times and duration of events. Topics include optimization and linear and dynamic systems, factory planning and scheduling.
ENGT 4100. Motion and Time Study. 3 Hours.
Prerequisite: ENGT 2510. Covers work measurements and methods including the use of standards, value engineering methods design, time studies and ergonomics and the use of scientific methods and graphical tools toe examine efficiency of work methods and to improve prductivity and performance.
ENGT 4110. Industrial Automation. 3 Hours.
A study of the applications of industrial automation systems, including identification of system requirements, equipment integration, motors, controllers, and sensors. Include lab fee.
ENGT 4120. Project Management. 3 Hours.
Study of the concepts and methodologies used in industrial and production environment that lead to successful project completion. Topics covered include project cycles roles, time-cost tradeoff, resource allocation, and performance measurement.
ENGT 4500. Technical Project Proposal. 1 Hour.
Taken the fall of senior year, this capstone project proposal course provides students with the opportunity to work with a faculty member or local business participant in collaboration with faculty member input to design a project that reflects the knowledge and skills developed from the curriculum. Includes lab fee.
ENGT 4510. Basic Electricity and Electronics. 3 Hours.
Prerequisite: PHYS 1112k or 2212K and MATH 2261. Introduction to the principals of electricity and electrons including applications and problem solving surrounding AC and DC circuits, series and parallel circuits, electrical components, magnetism and power. Includes lab fee.
ENGT 4520. Applied Thermodynamics. 3 Hours.
Prerequisites: PHYS 1112K or 2212K and MATH 2261. Application of thermodynamics to engineering systems for both steady and transient processes.
ENGT 4550. Technical Project Lab. 2 Hours.
A continuation of ENGT 4500 where student will complete their proposed hands-on project; students are expected to spend significant amount of time outside of a typical classroom environment. Includes lab fee.
ENGT 4950. Directed Study in Engineering Technology. 1-3 Hours.
Prerequisite: Junior standing; permission of instructor and Department Head. Supervised investigation of a specific problem and preparation of a final report agreed upon by student and instructor. Three hours may be substitute for ENGT 4980 and 4990. Includes lab fee.