Differences between revisions 12 and 62 (spanning 50 versions)
Revision 12 as of 2010-09-16 17:28:11
Size: 1355
Editor: hsc129
Comment:
Revision 62 as of 2022-01-25 13:05:33
Size: 5871
Editor: scot
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Look for all class information plus tips, tricks and FAQs here!
Line 3: Line 4:
Look for all class information plus tips, tricks and FAQs. The general Syllabus is found at StandardSyllabus
Line 5: Line 6:
== CS Classes == ||'''Fall Classes''' ||'''Winter Classes''' ||
||CPTE 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 7: Line 14:
|| '''Face-to-face Classes''' || '''Online Classes''' ||
|| CPTR-328 PrinciplesOfNetworkingCourse (taught: Fall) || CPTE-105 IntroToWordProcessing (taught: Fall/Spring/Smart Start) ||
|| CPTR-427 NetworkSecurity (taught: Spring) || CPTE-106 IntroToSpreadSheets (taught by Mr. Dant Fall/Spring and by Dr. A during Smart Start) ||
|| CPTR-319 DatabaseManagementSystems (taugh: Spring) || CPTE-107 IntroToDatabases (taught: Fall/Spring) ||
|| || CPTE 10X OnlineClassFrequentlyAskedQuestions (FAQs) ||
* POI = Permission of Instructor

Not currently teaching: CPTR 432 ManagingAndProgrammingMobileApplications

If you need a virtual machine try: SelfServicePortalInstall

[[http://login.cengage.com/ssoinstructor/mydashboard.htm|Cengage Instructor Page]]

See also CaptureTheFlag
Line 15: Line 26:
== Standard Technical Paper Templates and LaTeX Tips == GeneralIdeasToImplementInAllClasses
Line 17: Line 28:
[[WritingTechnicalPapersInLaTeX]] contains information about different LaTeX tools and templates for you to get started with. These will be especially useful for any of my upper division computing classes. This section contains useful links including DrAndersonsRulesForWritingPapers. You will also find Dr. A's SupplementaryLatexRubric used in addition to the standard Research/Design Paper rubric. == 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:
Line 19: Line 31:
== Rubrics and resources ==  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.
 1. 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!
 1. You may use any capture software you want. The following are ones known to work as of this writing:
  1. [[http://www.apple.com/quicktime/download/|QuickTime]] (Apple)
  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.
Line 21: Line 38:
The SAU School of Computing has resources listed at [[http://www.southern.edu/cs/resources/Pages/variousresources.aspx]]. == Computing Research and Writing Resources ==
The following two links provide access to all of Dr. A's research and writing resources.

 * PerformingComputingResearch
 * LaTeXresources
 * DrAndersonsRulesForWritingPapers
 * SouthernAdventistUniversityWritingCenter
 * [[http://southern.libguides.com/content.php?pid=171766&sid=5590609|Library Link: to Computing Research Guide]]
 * [[https://www.seguetech.com/the-four-levels-of-software-testing/|Excellent article describing Testing]]

== Rubrics ==
The SAU School of Computing has resources listed at http://www.southern.edu/cs/resources/Pages/variousresources.aspx.

== General Tools ==
 * [[http://www.ginifab.com/feeds/pms/pms_color_in_image.php|Pick Colors from a known image]]
 * http://readysetraphael.com
 * [[https://youtu.be/AAgWhnf_p3k|Inkscape drawing tutorial]]
 * [[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 hear 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 and hardware issues ==

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. 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

CPTE 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: SelfServicePortalInstall

Cengage Instructor Page

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:

  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 VLC recognizes.

  2. Video file size does not exceed eclass size limits (currently 50 mb) or you will need to put it on youtube.
  3. 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!
  4. You may use any capture software you want. The following are ones known to work as of this writing:
    1. QuickTime (Apple)

    2. 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.

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

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 hear 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 and hardware issues

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.
  2. 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.
  3. 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.

ClassesPage (last edited 2024-08-30 13:01:26 by scot)