Size: 2295
Comment:
|
Size: 6637
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
The general Syllabus is found at StandardSyllabus |
|
Line 4: | Line 7: |
||CPTE 230 WindowsAdministration ||CPTR-319 DatabaseManagementSystems || ||CPTR-328 PrinciplesOfNetworkingCourse ||CPTR-427 NetworkSecurity (Odd Only) || ||CPTR-432 ManagingAndProgrammingMobileApplications (Even Only) ||CPTR-521 AdvancedDatabaseSystems (Even only) || ||CPTR-542 AdvancedNetworkSecurity (Odd Only) ||CPTR-575 IssuesInComputerScienceAndReligion || |
||CPTR 230 WindowsAdministration ||CPTR-319 DatabaseManagementSystems || ||CPTR-328 PrinciplesOfNetworkingCourse ||CPTR-427 NetworkSecurity (Every year starting in 2021) || ||CPTR-519 DatabasesAndDataWarehouses ||CPTR-521 AdvancedDatabaseSystems (Even only) || ||CPTR-444/544 OffensiveSecurity (Odd Only) ||CPTR-575 IssuesInComputerScienceAndReligion (Odd Only) || ||CPTE-300 ChristianServiceInComputing POI || CPTE-300 ChristianServiceInComputing POI || || || CPTR-446/546 WebServices (Even Only) || |
Line 9: | Line 14: |
* POI = Permission of Instructor | |
Line 10: | Line 16: |
Not currently teaching: CPTR 432 ManagingAndProgrammingMobileApplications | |
Line 11: | Line 18: |
If you need a virtual machine try: Send a request to Dr. A | |
Line 14: | Line 22: |
See also CaptureTheFlag |
|
Line 15: | Line 25: |
GeneralIdeasToImplementInAllClasses |
|
Line 19: | Line 31: |
1. Captures may be done on any platform as long as the instructor can watch the video using youtube (e.g. you uploaded it and gave me the link) or a format that [[[http://www.videolan.org/vlc/index.html|VLC]] recognizes. 1. Video file size does not exceed eclass size limits (currently 50 mb) or you put it on youtube. |
1. Captures may be done on any platform as long as the instructor can watch the video using youtube (e.g. you uploaded it and gave me the link) or a format that [[http://www.videolan.org/vlc/index.html|VLC]] recognizes. 1. Video file size does not exceed eclass size limits (currently 50 mb) or you will need to put it on youtube. |
Line 24: | Line 36: |
1. [[https://www.microsoft.com/en-us/download/details.aspx?id=24601|Expression Encoder]] (Windows) | 1. [[https://obsproject.com/|Open Broadcaster Studio]] (Apple, Linux, or Windows) This one is installed in the lab as of 2017. You will need to create voice-over for my assignments, so make sure to bring a microphone. I believe the headset for your phone will work with the computers in the General Lab too. 1. Videos must follow the guidelines in LabVideos |
Line 34: | Line 47: |
* [[https://www.seguetech.com/the-four-levels-of-software-testing/|Excellent article describing Testing]] | |
Line 42: | Line 56: |
* [[https://github.com/lukasz-wronski/vscode-ftp-sync|I've started use Visual Studio Code for remote projects]]. Works great for html/php etc. = Approaches to solving Computer Problems = There are really two types of problems in Computer science. First, there is the kind you program a solution to. It has complexity that must be dealt with or you will soon pull your hair out trying to figure out what it is you did or are doing or yet need to do. The second kind of problem is one you are trying to find the cause of, and then find a solution to. These are usually found in systems and relate to configurations or hardware problems. == Dealing with complexity when developing Solutions == To deal with complexity you will often employ one or more of the following concepts: || Abstraction || Abstraction removes concerns about the internal details of software components and presents just what is essential for understanding and use. || || Modularity || Modularity is an implementation that supports interchangeable components. || || Layering || Layering is a common technique that provides progressive abstraction and implementation. E.g. the OSI Layer || == Approaches to Finding and Fixing Configuration, Hardware, and Software Problems == To find the cause and fix configuration and hardware problems, you can approach the problem using these three techniques: 1. Use a Knowledge Base - It could be Google, but it may be your own companies wiki or some other documentation source. Find it in the knowledge base and following the instructions to fix it. This is the easiest, fastest and will solve most of your problems. 1. Follow the path - This is a bit harder because you may not know the path. I frequently find myself following the path of some errant connection in the data center. Sometimes its just a bad wire, sometimes a student has moved a wire without telling me. For network issues a loop-back test may be in order (e.g. in the simplest case ping), in other cabling situations, you could try Frogging. This method works well for systems that must communication, and where communication is breaking down. It also works well in processes that require sequential actions. It requires more work and it is a bit better in its success rate too. 1. Simplify the problem - Often times it helps to take a complex problem and test it in its simplest form. E.g. For IT: in one assignment students were required to add a user to Active Directory with several properties set. This could be done in a single statement which is SOP. However, it failed with an error that was less than helpful in discovering the cause of the failure. Simplifying this problem involved just creating the user without additional properties. Then add the properties one by one until the error appears, thus revealing the faulty cause. CS: programmers do this all the time with modularity, unit testing, and using a debugger to step through the program while using watches. 1. Hypothesis testing - Now we are talking hard work. This is science at its core: you hypothesize a cause and develop a way to test your hypothesis. You might be right in your hypothesis, but it may not be complete. Think of problems that manifest themselves from multiple causes. Although its the hardest, it is also the most successful method. It also takes the longest. So start at the top and work your way down to here as a last resort. More information can be found in the slides of the CPTE 230 Windows Administration class. |
Classes
Look for all class information plus tips, tricks and FAQs here!
The general Syllabus is found at StandardSyllabus
Fall Classes |
Winter Classes |
CPTR 230 WindowsAdministration |
CPTR-319 DatabaseManagementSystems |
CPTR-328 PrinciplesOfNetworkingCourse |
CPTR-427 NetworkSecurity (Every year starting in 2021) |
CPTR-519 DatabasesAndDataWarehouses |
CPTR-521 AdvancedDatabaseSystems (Even only) |
CPTR-444/544 OffensiveSecurity (Odd Only) |
CPTR-575 IssuesInComputerScienceAndReligion (Odd Only) |
CPTE-300 ChristianServiceInComputing POI |
CPTE-300 ChristianServiceInComputing POI |
|
CPTR-446/546 WebServices (Even Only) |
* POI = Permission of Instructor
Not currently teaching: CPTR 432 ManagingAndProgrammingMobileApplications
If you need a virtual machine try: Send a request to Dr. A
See also CaptureTheFlag
GeneralIdeasToImplementInAllClasses
Creating Videos for Assignments
In several of my classes, students are required to create video screen captures to turn in as assignments. Here are a few things to note about those video captures:
Captures may be done on any platform as long as the instructor can watch the video using youtube (e.g. you uploaded it and gave me the link) or a format that VLC recognizes.
- Video file size does not exceed eclass size limits (currently 50 mb) or you will need to put it on youtube.
- Video dimensions do not exceeed 1080P - 720P is preferable. 4x3 size is ok too. 1024x768 is great, and you can make them whatever works best for you!
- You may use any capture software you want. The following are ones known to work as of this writing:
QuickTime (Apple)
Open Broadcaster Studio (Apple, Linux, or Windows) This one is installed in the lab as of 2017. You will need to create voice-over for my assignments, so make sure to bring a microphone. I believe the headset for your phone will work with the computers in the General Lab too.
Videos must follow the guidelines in LabVideos
Computing Research and Writing Resources
The following two links provide access to all of Dr. A's research and writing resources.
Rubrics
The SAU School of Computing has resources listed at http://www.southern.edu/cs/resources/Pages/variousresources.aspx.
General Tools
I've started use Visual Studio Code for remote projects. Works great for html/php etc.
Approaches to solving Computer Problems
There are really two types of problems in Computer science. First, there is the kind you program a solution to. It has complexity that must be dealt with or you will soon pull your hair out trying to figure out what it is you did or are doing or yet need to do. The second kind of problem is one you are trying to find the cause of, and then find a solution to. These are usually found in systems and relate to configurations or hardware problems.
Dealing with complexity when developing Solutions
To deal with complexity you will often employ one or more of the following concepts:
Abstraction |
Abstraction removes concerns about the internal details of software components and presents just what is essential for understanding and use. |
Modularity |
Modularity is an implementation that supports interchangeable components. |
Layering |
Layering is a common technique that provides progressive abstraction and implementation. E.g. the OSI Layer |
Approaches to Finding and Fixing Configuration, Hardware, and Software Problems
To find the cause and fix configuration and hardware problems, you can approach the problem using these three techniques:
- Use a Knowledge Base - It could be Google, but it may be your own companies wiki or some other documentation source. Find it in the knowledge base and following the instructions to fix it. This is the easiest, fastest and will solve most of your problems.
- Follow the path - This is a bit harder because you may not know the path. I frequently find myself following the path of some errant connection in the data center. Sometimes its just a bad wire, sometimes a student has moved a wire without telling me. For network issues a loop-back test may be in order (e.g. in the simplest case ping), in other cabling situations, you could try Frogging. This method works well for systems that must communication, and where communication is breaking down. It also works well in processes that require sequential actions. It requires more work and it is a bit better in its success rate too.
- Simplify the problem - Often times it helps to take a complex problem and test it in its simplest form. E.g. For IT: in one assignment students were required to add a user to Active Directory with several properties set. This could be done in a single statement which is SOP. However, it failed with an error that was less than helpful in discovering the cause of the failure. Simplifying this problem involved just creating the user without additional properties. Then add the properties one by one until the error appears, thus revealing the faulty cause. CS: programmers do this all the time with modularity, unit testing, and using a debugger to step through the program while using watches.
- Hypothesis testing - Now we are talking hard work. This is science at its core: you hypothesize a cause and develop a way to test your hypothesis. You might be right in your hypothesis, but it may not be complete. Think of problems that manifest themselves from multiple causes. Although its the hardest, it is also the most successful method. It also takes the longest. So start at the top and work your way down to here as a last resort.
More information can be found in the slides of the CPTE 230 Windows Administration class.