Department of Computer and Information Sciences

The Department of Computer and Information Sciences (CIS) offers a B.S. major and a minor in CIS. The B.S. degree in CIS is accredited by the Computing Accreditation Commission of ABET, abet.org. The CIS major is designed to give students a broad background in the structure and theory of information, programming methodologies, and the hardware and software of computer systems. There is also a concentration that offers an opportunity for specialization in computer networking. Minors are available for students who are not CIS majors but who expect to use the computer in the application area of their major field. The Department is especially interested in students getting job-related experience and training through internships and co-operative education opportunities with local and regional high technology companies. Also, the undergraduate majors are sufficiently flexible such that majors or minors in complementary areas such as business can be accomplished within the normal degree time frame. For more information, see the CIS department web site at cis.uab.edu.

Requirements for students transferring to the CIS major from other programs within UAB

Students admitted to an undergraduate program at UAB may transfer to CIS provided they have earned a UAB GPA of 2.0 or better.

Requirements for students transferring to the CIS major from other institutions

Transfer students from other institutions may transfer to the CIS program provided they have earned a GPA of 2.0 or better. If this requirement is not met, transfer students must transfer as a Liberal Arts major in the College of Arts and Sciences, meet the GPA requirement, and then apply to become a CIS major.

Grade point average

For both the major and minor, a grade of C or better is required in each of the computer and information sciences courses. If a student receives a grade D or F in any CIS course, then the student will only be allowed one chance to retake that course and pass it (grade C or better).

CIS courses taken at another institution for which a grade of D was received may not be counted toward the CIS major or the CIS minor.

All CIS majors must maintain a GPA of 2.2 or better in all CIS courses taken. If the CIS GPA falls below 2.2, then the student will be put on probation and student must raise his or her CIS GPA to 2.2 or above within a year after being placed on probation. At the end of the probation term, if the CIS GPA is not at or above 2.2, then the student will be dismissed from the major, and be reclassified as an undeclared major in the College of Arts and Sciences. Note that this requirement is in addition to the minimum UAB GPA of 2.0 or better required to be in good standing. A student who is dismissed from the CIS major as described here may reapply to be CIS major provided the student has raised his or her CIS GPA to 2.2 or higher and also has a UAB GPA to 2.0 or better.

300 and 400-level courses

In the CIS major, at least 12 semester hours of CIS courses at the 300 level or above must be taken at UAB. Any CIS course at the 300 level or above can be taken to satisfy the 12 semester hour CIS elective credit. A maximum of 3 semester hours may be obtained in Directed Readings. Although not required, CIS majors have the option to structure their 12 semester hours of CIS program electives as a specialization in Computer Networking. Course substitutions may be made within this specialization with CIS advisor approval.

CIS courses at the 400-level and above are normally restricted to CIS Majors. Non-majors may register for such courses only with the specific permission of the specific course Instructor.

Graduate Programs

The Department of Computer and Information Sciences offers graduate study leading to the Master of Science in Computer and Information Sciences, and Doctor of Philosophy in Computer and Information Sciences. We also offer, jointly with Justice Sciences, a Master of Science degree in Computer Forensics and Security Management. Further information may be obtained from the department or the UAB Graduate School Catalog.

Advanced undergraduates with a CIS GPA of 3.0 or better may take graduate courses with the permission of the instructor.

Accelerated Master of Science Program

The Department of Computer and Information Sciences offers an opportunity to earn a B.S. and an M.S. degree in a total of five years. This program offers qualified students mentorship during undergraduate study. The student works closely with a faculty member in an area of intensive research that prepares the student for a Ph.D. degree program in computer science or a future career in computer science. Admission to the program requires a minimum 3.5 GPA, three letters of recommendation from faculty, including one from their mentor, and an interview with the admissions committee. Students should apply for entrance into the accelerated M.S. program by the end of their sophomore year. If the student does not enter with AP credits, it may be necessary to take some summer courses. For additional information, please contact Dr. Chengcui Zhang, Graduate Program Director, at (205) 934-2213 or czhang02@uab.edu.

Note: A student who takes CS 330 as the elective will be ready to apply directly to the CIS M.S. program.

GPA Requirement and Residency

A student must have at least a 2.0 average in all CIS courses attempted and a 2.0 average in all CIS courses taken at UAB. The current UAB course repeat policy will be used in calculating the grade point average. A minimum of six semester hours in the minor must be taken at UAB. Transfer students should be aware of the Department of Computer and Information Science’s policy regarding transfer credit.

Honors Program: Computer and Information Sciences

Purpose

The Computer and Information Sciences Honors Program offers outstanding, highly motivated students the opportunity to develop research skills in preparation for graduate work or a professional career.

Eligibility

In order to be accepted into the Computer and Information Sciences Honors program, a student must:

have earned a 3.5 GPA in computer and information sciences (CS) courses;

have earned a 3.0 GPA overall;

have completed 18 semester hours in CS courses;

have enrolled in Undergraduate Honors Research (CS 398) for at least 1 semester hour; and

have arranged with a faculty sponsor in Computer and Information Sciences to do a research project.

Requirements

Students in the Computer and Information Sciences Honors Program will be required to have the following:

a minimum of 3 semester hours in Undergraduate Honors Research (CS 398) with each semester hour involving a minimum of three hours of laboratory work per week during the semester of enrollment;

a formal research proposal submitted by the end of the first term of Honors Research, including an introduction, proposed methods, and relevant literature citation;

a formal written report in the form of a scientific paper; and

an oral or poster presentation at a Computer and Information Sciences departmental seminar.

In some instances, it will be recommended or required that Computer and Information Sciences Honors students give a formal presentation of their work at a scientific meeting.

Benefits

In addition to the educational and career benefits of participating in the Computer and Information Sciences Honors program, students who complete the program will graduate “With Honors in Computer and Information Sciences.”

Contact

For more information and/or admission to the Computer and Information Sciences Honors program, contact:

Courses

CS 103. Introduction to Computation. 4 Hours.

An introduction to computation and computational thinking, explored through programming in Python. Python is a scripting programming language that encourages exploration and quick development. This course assumes no prior programming experience and is appropriate for students in any discipline, such as linguistics, biology, business, and art. The student will leave the course with the ability to write small, clear programs that solve interesting problems, and an appreciation of the power and beauty of computation. Strings, tuples, lists, dictionaries, comprehensions, branching, iteration, recursion, abstraction through functions, higher order programming. Principles of software development are emphasized, including specification, documentation, testing, debugging, exception handling. This course has a laboratory component.

CS 103L. Introduction to Computation Lab. 0 Hours.

Laboratory to accompany CS103.

CS 199. Special Topics in Computer Science. 1-3 Hour.

Selected topics in Computer Science. This course may or may not have a laboratory component or be taught online.

CS 199L. Special Topics Lab. 0 Hours.

Project oriented hands-on approach lab. Mandatory first day of attendance.

Introduction to application development for mobile devices including those built on Android, iOS and Windows Phone using a popular mobile application development platform such as Cordova. Covers unique requirements and constraints of mobile applications, foundations of mobile application development, syntax and semantics of web languages such as HTML, CSS and related frameworks, client side scripting including JavaScript and associated techniques such as jQuery and Ajax, principles for the design and evaluation of mobile user interfaces, storage and sensors. Lecture and laboratory.Prerequisites:CS 103 [Min Grade: C]

Introduction to basic concepts in ethical hacking. Survey of legal and ethical issues of hacking, common threats, vulnerabilities and attack vectors, concept of hacking, tools for hacking, compliance reporting, and certification. This course is not available for credit to students pursuing a major in Computer and Information Sciences.Prerequisites:CS 103 [Min Grade: C]

Scientific computing is the foundation of many key areas of computer science (e.g., machine learning, graphics, vision, cryptography) and of companies like Google. A main object of study in this course is the matrix, including matrix computation (matrix multiplication, null space, solution of linear systems, least squares) and applications (image filtering, face detection, compression). Other topics may include wavelets, root finding, quadrature, and Fourier transform.Prerequisites:CS 203 [Min Grade: C] and CS 250 [Min Grade: C]

CS 391. Special Topics. 1-3 Hour.

Selected Topics in Computer Science.

CS 392. Special Topics. 1-3 Hour.

Selected Topics in Computer Science.

CS 398. Undergraduate Honors Research. 1-3 Hour.

Research project under supervision of faculty sponsor. Prerequisite: 18 semester hours in computer and information sciences with grade point average of 3.5 in computer and information sciences and permission of instructor.

CS 399. Directed Readings. 1-3 Hour.

Selected readings, research and project development under the direction of a faculty member. Permission of instructor.

Introduction to cyber-investigative techniques involving network forensics, using automated methods to evaluate digital evidence from network packet captures, emails, server logs, and security event logs related to cyber crime cases. This course is not available for credit to students pursuing the MS and PhD Degree in Computer and Information Sciences.

A hands-on course covering all aspects of “media forensics” faced by Computer Forensics Examiners. Students will learn to analyze character encoding, file formats, and digital media, including hard drives and smartphones, as well as disk acquisition and duplication techniques and how to apply these techniques in typical criminal investigation scenarios.Prerequisites:CS 303 [Min Grade: C] and CS 330 [Min Grade: C] and MA 125 [Min Grade: C]

Introduction to bioinformatics algorithms. This course is the second of a two-course sequence CS440/CS441 that is designed to provide an introduction to bioinformatics. This course will emphasize the implementation of fundamental bioinformatic algorithms. It is a programming course. Writing and oral presentations are integral parts of this course. Students are required to document their programs and provide oral presentations describing the design and implementation of global alignments, local alignments, the use of amino acid substitution matrices and BLAST.Prerequisites:CS 440 [Min Grade: C]

CS 442. Mobile and Wireless Security. 3 Hours.

Mobile/wireless devices are ubiquitous, raising the potential for many cyber threats. This course examines security vulnerabilities inherent in many existing and emerging mobile and wireless systems, ranging from smartphones to wearables and RFID tags. In addition to exposing security vulnerabilities, defensive mechanisms to address these vulnerabilities drawn from existing deployments and research literature will be studied.Prerequisites:CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

The web uses advanced applications that run on a large variety of browsers that may be built using programming languages such as JavaScript, AJAX, Google Web Toolkit and Apache Struts, to name a few. This course studies how core web technologies work, the common security vulnerabilities associated with them, and how to build secure web applications that are free from these vulnerabilities.Prerequisites:CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 457. Penetration Testing and Vulnerability Assessment. 3 Hours.

This course focuses on penetration testing and vulnerability analysis. It introduces methodologies, techniques and tools to analyze and identify vulnerabilities in stand-alone and networked applications. It also covers methodologies for legal and standards compliance.Prerequisites:CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

An introduction to the design, implementation, evaluation and maintenance of secure software systems and applications using open source technologies, with an emphasis on hands-on experience. Topics include: open source ecosystems, open source security methodologies and models, notable open source software systems and projects, quality and security assurance through open source, open source supply chain security, major open source cryptographic packages; designing, implementing and maintaining security systems using open source technologies; assessment and regulatory compliance using open source tools, and open source hardware.Prerequisites:CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

This course will help students become more competitive in a programming competition such as the ACM programming contest by exploring numerous problem solving techniques and algorithms not covered in the traditional curriculum.Prerequisites:CS 250 [Min Grade: C]

CS 498. Research Methods in Computer Science. 3 Hours.

This course is designed to provide future computer science teachers with the tools that computer science uses to develop new knowledge. Students will design, implement, and document independent research inquiry. Students will learn how scientists communicate through peer-reviewed publications and evaluate conflicting scientific claims. Work is closely coordinated with the work of students from other content disciplines so that students see the similarity and differences of research methods in their own field as compared with those of other science disciplines.Prerequisites:EHS 126 [Min Grade: D]

CS 499. Senior Capstone. 3 Hours.

In this course, students will discuss topics relating to ethics in Computer Science. In a software engineering project, students will work in a team to put to practice principles and techniques that they have acquired throughout the undergraduate curriculum. A series of lectures on key topics in Computer Science given by faculty members and guest lecturers will round out the course. Students take the Major Field Test in Computer Science as a requirement for completing this course. Students should be CIS majors in their last semester of undergraduate study. Lecture and laboratory.Prerequisites:CMST 101 [Min Grade: C] and PHL 115 [Min Grade: C]