Course Information
The department offers a large and varied set of courses for both undergraduate and graduate students. Periodically, the department's faculty modify the curriculum in order to ensure that students are receiving an up-to-date and high-quality education. Because of the complexity of the curriculum and the varied requirements in the different degrees, concentrations, and minors, this page is provided to help faculty and students understand certain department requirements for several courses. If a class is not listed here, it does not have any special requirements.
If at any point a student has questions about their particular situation, they should talk to their academic advisor. Students should also talk to their academic advisor before making any changes to their degree plan.
- CSCI 1000 Intro to Computer Applications
- CSCI 1010 Intro to Programming I
- CSCI 1011 Intro to Programming I Lab
- CSCI 1015 Introduction to Computer Programming
- CSCI 1018 Introduction to Computer Programming Lab
- CSCI 2000 Programming for STEM
- CSCI 2010 Intro to Programming II
- CSCI 2011 Intro to Programming II Lab
- CSCI 2070 Programming in Selected Languages I
- CSCI 2080 Programming in Selected Languages II
- CSCI 3000 Data Modeling
- CSCI 3020 XML Processing
- CSCI 3410 Computer Organization II
- CSCI 3900 Internship
- CSCI 4010 Mobile Software Development I
- CSCI 4050 Multimedia Tools and Technique
- CSCI 4100 Operating Systems and Architecture
- CSCI 440I Unrestricted Internship
- CSCI 4410 Database Admin Using DB2
- CSCI 4420 Database Admin-MS SQL Server
- CSCI 4430 Database Admin Using Oracle
- CSCI 4440 Intro to Open Source Databases
- CSCI 4562 Robotics I Lab
- CSCI 4563 Robotics II Lab
- CSCI 4613 Cryptography
- CSCI 4629 Information Security Certification Workshop
- CSCI 4630 Web Server Administrator
- CSCI 4940 Internship in Information Technology
CSCI 1000 Intro to Computer Applications
In general, if your major is Computer Science, Computer Information Systems, or Computer Information Technology and you need to take your first computer course, you should not take CSCI 1000. You should instead sign up for CSCI 1010 and CSCI 1011. Talk to your academic advisor before taking this course.
CSCI 1010 Intro to Programming I
CSCI 1011 Intro to Programming I Lab
All Computer Science, Computer Information Systems, or Computer Information Technology degree plans require both CSCI 1010 and CSCI 1011.
When registering for CSCI 1010 and CSCI 1011, the registration system will require the following::
- Students will need to register for both CSCI 1010 and CSCI 1011 in the same semester and take them concurrently.
- Students who register for an online section of CSCI 1010 must also register for an online section of CSCI 1011.
- Students who register for an on-ground section of CSCI 1010 must also register for an on-ground section of CSCI 1011.
In some cases, some students may not be required to take CSCI 1011. In other cases, CSCI 1011 is required because it is a co-requisite of CSCI 1010, but it is not listed on the student’s degree plan. For those situations, please see below and talk to your advisor regarding your degree plan.
- For current APSU students
- If you took CSCI 1010 before Summer 2020, then you are grandfathered in and will not
be required to take CSCI 1011.
- If your degree plan does not show CSCI 1011, then you do not need to do anything.
- If your degree plan says that you are required to take CSCI 1011, talk to your academic advisor and ask them to put in a waiver request for CSCI 1011.
- If you have not taken CSCI 1010, then you are required to take both CSCI 1010 and
CSCI 1011.
- If you do not see CSCI 1011 on your degree plan, then you will need to update your degree plan to the Fall 2021 catalog. This update will add CSCI 1011 to your degree plan, and it will be covered by financial aid.
- If you took CSCI 1010 before Summer 2020, then you are grandfathered in and will not
be required to take CSCI 1011.
- For transfer students
- If you transfer in credit for a class that is equivalent to CSCI 1010, then you are
not required to take CSCI 1011.
- If your degree plan does not show CSCI 1011, then you do not need to do anything.
- If your degree plan says that you are required to take CSCI 1011, talk to your academic advisor and ask them to put in a waiver request for CSCI 1011.
- If you have not taken the equivalent of CSCI 1010 at another school, then you are
required to take both CSCI 1010 and CSCI 1011.
- If you do not see CSCI 1011 on your degree plan, then you will need to update your degree plan to the Fall 2021 catalog. This update will add CSCI 1011 to your degree plan, and it will be covered by financial aid.
- If you transfer in credit for a class that is equivalent to CSCI 1010, then you are
not required to take CSCI 1011.
CSCI 1010 and CSCI 1011 are both prerequisites for CSCI 2010 and CSCI 2011. Students are now required to have a C or better in both CSCI 1010 and CSCI 1011 in order to progress onto CSCI 2010 and CSCI 2011. In the event a student receives a C in either CSCI 1010 or CSCI 1011, then the following applies:
- If a student receives grades below a C in both CSCI 1010 and CSCI 1011, the student will need to repeat both courses.
- If a student receives grades below a C in just one of the two courses, the student only needs to retake the course with the lower grade. Since CSCI 1010 and CSCI 1011 are co-requisites and are normally taken at the same time, the student's advisor will put in a request for a permit that will allow the student to only register for needed course.
CSCI 1015 Introduction to Computer Programming
CSCI 1018 Introduction to Computer Programming Lab
As of Fall 2020, CSCI 1015 and CSCI 1018 are no longer taught. Some students who declared the Computer Information Technology major or the Networking minor before Fall 2020 may see CSCI 1015 and CSCI 1018 on their degree plan in Degree Works. For these students, the following applies:
- If the student has taken CSCI 1015 but did not take CSCI 1018, the student's advisor will put in a request for a waiver for CSCI 1018. and the student will not be required to take CSCI 1018. In this case, the student is grandfathered in and not required to take a lab class.
- If the student has not taken either CSCI 1015 or CSCI 1018, then the student is required
to take CSCI 1010 and CSCI 1011 instead.
- In most cases, the easiest solution is to update the student's degree plan to the current catalog. This will change the degree requires so that CSCI 1010/1011 is required instead of CSCI 1015/1018.
- In some cases, updating the degree plan may significantly affect the classes the student has left to take, for example if they are classified as a Senior. In that situation, the academic advisor may recommend that the student take CSCI 1010 and CSCI 1011 without updating the student's degree plan. The advisor will need to request a course substitutions so that CSCI 1010 counts for CSCI 1015 and CSCI 1011 counts for CSCI 1018.
CSCI 2000 Programming for STEM
Students with Computer Science, Computer Information Systems, or Computer Information Technology majors will see CSCI 2000 on their degree plan. CSCI 2000 is primarily intended for students who are not computer majors, e.g. Physics or Mathematics. If a computer student has a high Math ACT score, is taking or has taken MATH 1910 Calculus I, then they may want to consider taking CSCI 2000 and should talk to their academic advisor.
In general though, the majority of computer students should not take CSCI 2000. Instead, they should take CSCI 1010/1011 one semester and then CSCI 2010/2011 the following semester. In some cases, a significant amount of time may have passed since the student took CSCI 1010, perhaps one or more years. Even in these cases, the student should take CSCI 2010/2011 instead of CSCI 2000.
CSCI 2010 Intro to Programming II
CSCI 2011 Intro to Programming II Lab
All Computer Science, Computer Information Systems, or Computer Information Technology degree plans require both CSCI 2010 and CSCI 2011.
When registering for CSCI 2010 and CSCI 2011, the registration system will require the following::
- A 'C" or better in both CSCI 1010 and CSCI 1011. See information in CSCI 1010/1011 about this situation.
- Students need register for both CSCI 2010 and CSCI 2011 in the same semester and take them concurrently.
- Students who register for an online section of CSCI 2010 must also register for an online section of CSCI 2011.
- Students who register for an on-ground section of CSCI 2010 must also register for an on-ground section of CSCI 2011.
In some cases, some students may not be required to take CSCI 2011. In other cases, CSCI 2011 is required because it is a co-requisite of CSCI 2010, but it is not listed on the student’s degree plan. For those situations, please see below and talk to your advisor regarding your degree plan.
- For current APSU students
- If you took CSCI 2010 before Summer 2020, then you are grandfathered in and will not
be required to take CSCI 2011.
- If your degree plan does not show CSCI 2011, then you do not need to do anything.
- If your degree plan says that you are required to take CSCI 2011, talk to your academic advisor and ask them to put in a waiver request for CSCI 2011.
- If you have not taken CSCI 2010, then you are required to take both CSCI 2010 and
CSCI 2011.
- If you do not see CSCI 2011 on your degree plan, then you will need to update your degree plan to the current catalog. This update will add CSCI 2011 to your degree plan, and it will be covered by financial aid.
- If you took CSCI 2010 before Summer 2020, then you are grandfathered in and will not
be required to take CSCI 2011.
- For transfer students
- If you transfer in credit for a class that is equivalent to CSCI 2010, then you are
not required to take CSCI 2011.
- If your degree plan does not show CSCI 2011, then you do not need to do anything.
- If your degree plan says that you are required to take CSCI 2011, talk to your academic advisor and ask them to put in a waiver request for CSCI 2011.
- If you have not taken the equivalent of CSCI 2010 at another school, then you are
required to take both CSCI 2010 and CSCI 2011.
- If you do not see CSCI 2011 on your degree plan, then you will need to update your degree plan to the current catalog. This update will add CSCI 2011 to your degree plan, and it will be covered by financial aid.
- If you transfer in credit for a class that is equivalent to CSCI 2010, then you are
not required to take CSCI 2011.
CSCI 2070 Programming in Selected Languages I
CSCI 2080 Programming in Selected Languages II
CSCI 2070 and CSCI 2080 are no longer taught. CSCI 2070 covered Java. With the move to teaching Java in CSCI 1010/1011/2010/2011, there is no longer a need for CSCI 2070. CSCI 2080 covered C#. CSCI 3005, which also covers C#, overlapped with CSCI 2080, so the decision was made to remove CSCI 2080 from the curriculum as well.
If a student's program requires either CSCI 2070 or CSCI 2080, they should talk to their advisor about taking an upper-level CSCI class (CSCI 3000-4999), which will be used as a substitution for CSCI 2070 or CSCI 2080. Students may not use a class that is already required for their degree or minor as a substitution.
CSCI 3000 Data Modeling
CSCI 3000 is no longer taught. It was a requirement in the Database concentration in the Computer Information Technology degree. With the updates to the degree starting in Fall 2021, the decision was made to remove the class.
If a student's program requires CSCI 3000, they should talk to their advisor about taking an upper-level CSCI class (CSCI 3000-4999), which will be used as a substitution for CSCI 3000. Students may not use a class that is already required for their degree or minor as a substitution.
CSCI 3020 XML Processing
CSCI 3020 is no longer taught. It was a requirement in the System Development concentration in the Computer Information Systems degree. With the updates to the degree starting in Fall 2021, the decision was made to remove the class.
If a student's program requires CSCI 3020, they should talk to their advisor about taking an upper-level CSCI class (CSCI 3000-4999), which will be used as a substitution for CSCI 3020. Students may not use a class that is already required for their degree or minor as a substitution.
CSCI 3410 Computer Organization II
CSCI 3410 will likely no longer be taught. It was a requirement in the Computer Science degree. With the updates to the degree starting in Fall 2021, the decision was made to remove the class as a required class in the degree.
If a student's program requires CSCI 3410, they should talk to their advisor about taking an upper-level CSCI class (CSCI 3000-4999), which will be used as a substitution for CSCI 3410. Students may not use a class that is already required for their degree or minor as a substitution.
CSCI 3900
Beginning Fall 2022, CSCI 3900 will no longer be required by an computing degree. Students may take the class as an upper-level CSCI elective. Students who wish to do an internship are not required to enroll in the class. Enrolling in the class will give them academic credit for their internship experience.
CSCI 4010 Mobile Software Development I
CSCI 4010 is the first class that covers Android app development. The prerequisite is currently CSCI 2010. The prerequisite used to be CSCI 2070. Students in the older CIT degrees would take CSCI 1015 and the CSCI 2070, which would allow them to take CSCI 4010.
- If a student has taken CSCI 2070, then the advisor should put in a request for a permit to waive the prerequisites for the student. These students are grandfathered in and will be allowed to take the class.
- If a student has taken CSCI 2010, then the student will be able to sign up for CSCI 4010 as normal.
Students who have declared the Mobile Minor and have completed either CSCI 2070 or CSCI 2010 before Fall 2021, should take CSCI 4010 in Fall 2021. The class is on a two-year teaching cycle and will not be taught again until Fall 2023.
CSCI 4050 Multimedia Tools and Technique
CSCI 4050 is required in older catalogs for Computer Information Technology. Although it has not been removed from the course catalog, it is not currently scheduled to be taught. When a student’s program requires CSCI 4050, the following guide should be used to determine how the student can meet the requirement.
- If the class is available or it is confirmed that the class will taught before the student is scheduled to graduate, the students should take the class as required.
- Otherwise, the student should talk to their advisor about taking an upper-level CSCI class (CSCI 3000-4999), which will be used as a substitution for CSCI 4050. Students may not use a class that is already required for their degree or minor as a substitution.
CSCI 4100 Operating Systems and Architecture
CSCI 4100 Operating System and Architecture has been a required course for Computer Information Systems. Since CIS is offered as both as an in-person and online degree, CSCI 4100 has had both in-person and online sections. Beginning with the Fall 2023 catalog, CSCI 4100 will no longer be required for CIS and will no longer be offered online.
If a CIS student is in a catalog year prior to Fall 2023, they will still have the CSCI 4100 requirement. If the student is on campus and capable of taking CSCI 4100 in person, they should register for the in-person CSCI 4100 section. If the student cannot take the in-person CSCI 4100 section, they can register for CSCI 4018 Cloud Computing, which will be offered online. The student's advisor should put in a substitution request so that CSCI 4018 will count towards the CSCI 4100 requirement. CSCI 4018 is a new class and will be required for CIS beginning with the Fall 2023 catalog.
CSCI 440I Unrestricted Internship
CSCI 440I was an alternative to CSCI 4805 Capstone course option for Computer Science students under older catalogs. CSCI 440I has been removed from the catalog. Computer Science students who wish to do an internship instead of the capstone course should take CSCI 3900 Internship and have it substituted for CSCI 440I.
CSCI 4410 Database Admin Using DB2
CSCI 4420 Database Admin-MS SQL Server
CSCI 4430 Database Admin Using Oracle
CSCI 4440 Intro to Open Source Databases
The courses CSCI 4410, CSCI 4420, CSCI 4430, and CSCI 4440 are no longer taught. They were a requirement in the Database concentration in the Computer Information Technology degree. Students were required to take two of these courses. With the updates to the degree starting in Fall 2021 in which the Database concentration and the Web and Internet concentration have been consolidated into one concentration, the Web and Database concentration, the decision was made to remove the courses.
If a student's program requires one or more of these courses, then one of these options will apply.
- If the student has not taken any of the database courses, that is, they have not taken
CSCI 4410, CSCI 4420, CSCI 4430, or CSCI 4440, then
- They should take CSCI 4405 Advanced Database Management. Since this class is taught using SQL Server, the student's advisor will put in a substitution request so that CSCI 4405 is substituted for CSCI 4420 Database Admin-MS SQL Server.
- Students will take one additional upper-level CSCI class (CSCI 3000-4999), which will be used as a substitution for CSCI 4430. Students may not use a class that is already required for their degree or minor as a substitution.
- If a student has completed one of the database classes and is still required to take
another course, then
- If the student previously took CSCI 4430 or CSCI 4440, then they should take CSCI 4405 Advanced Database Management. Since this class is taught using SQL Server, the student's advisor will put in a substitution request so that CSCI 4405 is substituted for CSCI 4420 Database Admin-MS SQL Server.
- If the student previously took CSCI 4420, then the student will take one additional upper-level CSCI class (CSCI 3000-4999), which will be used as a substitution for CSCI 4430. Students may not use a class that is already required for their degree or minor as a substitution.
CSCI 4562 Robotics I Lab
CSCI 4563 Robotics II Lab
Students who have the Robotics concentration in the Computer Science degree, may not have CSCI 4562 and CSCI 4563 listed as required classes. These are lab classes that were added to be taken along CSCI 4560 Robotics I and CSCI 4561 Robotics II. Students who do not have these requirements listed should take to Dr Nicholson.
CSCI 4613 Cryptography
Starting Fall 2022, the prerequisites for CSCI 4613 Cryptography will change. Previously, the prerequisites for CSCI 4613 were CSCI 4200 and (MATH 1710 or MATH 1110 or MATH 1730 or ACT-M 25 or higher). Beginning in Fall 2022, the prerequisites will change to CSCI 2500 and CSCI 4200.
Students in older catalogs who are required to take for CSCI 4613 may not have CSCI 2500 listed as a required class on their DegreeWorks report. For those students, CSCI 2500 may be waived if both of these conditions are met:
- Prior to taking CSCI 4613, they have met the old requirements
- AND, they do not have any free electives left.
If a student has a 3 or more credits of free electives left, then they should be advised to take CSCI 2500.
CSCI 4629 Information Security Certification Workshop
This class is required for the Information Assurance and Security Concentration in older catalogs. The course is not part of the concentration in newer catalogs. Beginning Spring 2024, this class will no longer be taught. Advisors should waive this course for the students whose degree plans require it.
CSCI 4630 Web Server Administrator
CSCI 4630 is required in older catalogs for Computer Information Technology. Although it has not been removed from the course catalog, it is not currently scheduled to be taught. When a student’s program requires CSCI 4630, the following guide should be used to determine how the student can meet the requirement.
- If the class is available or it is confirmed that the class will taught before the student is scheduled to graduate, the students should take the class as required.
- Otherwise, the student should talk to their advisor about taking an upper-level CSCI class (CSCI 3000-4999), which will be used as a substitution for CSCI 4630. Students may not use a class that is already required for their degree or minor as a substitution.
CSCI 4940 Internship in Information Technology
CSCI 4940 is no longer taught. CSCI 4940 was a required class for the Computer Information Technology degree. Due to the ever increasing number of students taking the class, the class grew beyond the available resources of the department and, as a result, was removed from the curriculum.
If a student's program requires either CSCI 4940, they have two choices
- If a student has more than enough credits to meet graduation requirements, then the advisor can waive CSCI 4940.
- If a student needs 3 credits in order to meet graduation requirements, they should talk to their advisor about taking an upper-level CSCI class (CSCI 3000-4999), which will be used as a substitution for CSCI 4940. Students may not use a class that is already required for their degree or minor as a substitution.