There are many talks about cloud storage and storing files remotely as a way to protect data from loss. While it is a great way to use free services for this purpose, you might also need to think about learning about this technology as a learning environment. It does not matter if you are an information technology, information assurance, digital forensics, cybersecurity, or computer science student, you will need an infrastructure where you can experiment and learn on your own. Hardware prices and open source operating systems make the setup of this environment easy and cheap.
If you are in computer science and try to learn about programming, you might find it easier to learn about network based programming by setting up a web server and experimenting with HTML and JavaScript as a start.
It seems like every application that is written these days are based on web services or use web services as its interface. Thus, it is in your interest to learn about network based programs and program execution. You will also need to think about safeguarding the code you write and ensuring its availability as you are progressing with your studies. So, you might need to learn about server management and file sharing.
One of the lesser known file sharing technologies is iSCSI ( Internet Small Computer System Interface, an Internet Protocol (IP)-based storage networking standard ). It typically use TCP ports 860 and 3260 and provides authentication for secure sessions. It is based on the Target ( server ) and the iSCSI Initiator ( client ) model that is built into Microsoft Windows 7 and above or can be freely installed on XP machines for iSCSI support.
There is not much "talk" about this technology, so I wanted to bring this technology to light for those of you interested setting up a home based network environment.
Watch video on how to setup and use a ReadyNAS based system.
http://youtu.be/Ag3tfc2VSUA
This blog is dedicated to methodology development of the scientific approach to computer science education and cybersecurity fields like digital forensics and information assurance. This site is not intended as a reference for practitioners of cybersecurity, but a guidance for those entering this field and would like to learn the basics of the scientific approach and methodological testing of scientific problems that is missing from a basic computer science and technology based STEM education.
Wednesday, January 14, 2015
Wednesday, January 7, 2015
Problem to Execution Methodology
Computer Science does not start by coding, but preparation and analysis in order to solve a problem at hand. That process requires many years of preparation and logical approach to solve problems. Thus, computer science is not as dependent on the programming language as most people think it is. Your first question about computer science should not be, "What language I should learn?", but how do I learn to solve mathematical problems. Problem solution starts with simplification, pattern recognition, and strong math background to create an algorithm that can solve the problem at hand in a finite amount of time and in a reliable way. Lately, we might also add the consideration of "securely" in order to solve problems in a way that is securely controlled.
Methodology
Problem Logical thinking
|
V
Analysis <---------------- Simplification, experiments, pattern recognition | |
V |
Algorithm Design <----------- | Math
| |
V |
Coding <-------------------| Language ( security )
| <---------------- | |
V | |
Pre-processor | | Operating system ( security )
| | |
V | |
Compiler------ Error --- | Integrated Development Environment ( IDE )
| |
(No Error) | Syntax error depends on language used
| |
V |
Library --> Linker | Operating system ( security )
| |
V |
Loader | Operating system ( security )
| |
V |
Execution ------ Error ---- Run time error ( strong testing methodology )
| Input validation
(No Error) Logical errors hard to detect (test, test, test, ...)
| ( security )
V
Results Aesthetics and user friendliness
( security - displayed error messages )
In many cases, you will need to learn how to compile your code, but the Graphical User Interface ( GUI ) based IDE environments can divert your attention from how the process actually works. I have created a video to help you understand the process of compiling code. The video will also show you how to create libraries and DLLs and compile these static and dynamic libraries into your code.
http://youtu.be/7Gt5FJpEQvA
Methodology
Problem Logical thinking
|
V
Analysis <---------------- Simplification, experiments, pattern recognition | |
V |
Algorithm Design <----------- | Math
| |
V |
Coding <-------------------| Language ( security )
| <---------------- | |
V | |
Pre-processor | | Operating system ( security )
| | |
V | |
Compiler------ Error --- | Integrated Development Environment ( IDE )
| |
(No Error) | Syntax error depends on language used
| |
V |
Library --> Linker | Operating system ( security )
| |
V |
Loader | Operating system ( security )
| |
V |
Execution ------ Error ---- Run time error ( strong testing methodology )
| Input validation
(No Error) Logical errors hard to detect (test, test, test, ...)
| ( security )
V
Results Aesthetics and user friendliness
( security - displayed error messages )
In many cases, you will need to learn how to compile your code, but the Graphical User Interface ( GUI ) based IDE environments can divert your attention from how the process actually works. I have created a video to help you understand the process of compiling code. The video will also show you how to create libraries and DLLs and compile these static and dynamic libraries into your code.
http://youtu.be/7Gt5FJpEQvA
Subscribe to:
Posts (Atom)