Here's a link to the course schedule page with homework assignments.
Never... this is an entirely online class.
In your instructor's Zoom room usually M-F 10am-11am or, by appointment, pretty much any other time.
That "(1-5 V)" in the catalog entry means that each time this course is offered, it may have between one and five credits. The "Repeatable (9)" means that while you may retake CIS 491 if it is offered in the future, you may earn a maximum of nine credits total, out of all of the times you take it.
Junior or senior standing is required for this special topics course.
The Catalog says "...new and emerging topics and technologies in the computing field..." but that's only partly correct, as now will be explained.
For the Spring 2021 Cryptology version, CIS 491 is being offered with three credits. To earn these credits, you are expected to spend at least three hours per week on consuming readings and videos and an additional twice as much time in writing, researching, and programming for the weekly projects.
This Spring 2020 version of CIS 491 has the subtitle Introduction to Cryptology: Basics to Blockchains.
Some terms of art in this business:
The course will start with some simple and older cryptographic algorithms from pre-digital times, to build up the terminology and get some practice writing code implementing a cryptosystem. Because you only know how strong cryptographic system is by attacking it, time will also be spent doing basic cryptanalysis.
More advanced topics will include several of the cryptographic tools used today, including symmetric and asymmetric ("public-key") systems, cryptographic hashes, digital signatures, key exchange, etc. A beautiful culminating example is the data structure of a blockchain, which puts together many of those individual pieces in one intoxicating stew.
Already in pre-digital times, wars were won or lost and political change occurred because of the security or insecurity of secret writing. In the world of the Internet, it is thanks to cryptography that consumers can safely use their credit cards on the 'net and access their bank accounts, governments and corporations can guard their vital secrets from competitors, and individuals can prove their identities for legal agreements even though they are on different continents.
Operating in a modern, digital world — or managing a business that has a digital presence — without understanding the basics of cryptography would be like trying to live or manage a business during a global pandemic without understanding the basics of the germ theory of disease. You could do it, but it would be likely to get you into a lot of trouble.
It will be assumed that all students have a fairly solid comfort level with programming, such as would come from one or two semesters of Java or perhaps self-teaching and then applied experience. A large majority of student work in this class will revolve around students producing pieces of functioning code for various tasks, so this requirement is not really open to much flexibility.
A variety of resources, including readings and videos, will be linked off of the course schedule page, and you will be expected to read/watch and then to respond to them. These resources will all be open or at least free, because your instructor feels that commercial textbooks are insanely over-priced.
Each week, links to new material will drop on the course schedule web page. Along with that material will be an assignment based on the new ideas and terminology, always with a (small) written component and a (larger) programming component. Sometimes there may also be other, optional activities including research, additional programming tasks, etc.
These weekly projects will be highly structured, so students should be able to complete them by making a series of modest steps which together yield the entire weekly goal. Students are encouraged to work together and to call upon the instructor frequently for suggestions or help when they get stuck. It is expected that all students will be able to complete all main weekly projects: don't give up if you get stuck, just reach out to your instructor!
It is inarguable that this course will be very hard (or impossible) to do if you do not have a computer (with Internet access) you can use for programming, writing, researching, and communicating with classmates and your instructor. If you do not have easy access to such a machine, please contact your instructor immediately and every effort will be made to find a machine for you to work on.
In terms of software: your instructor uses Linux. Therefore, please do not submit work which can only be viewed or executed in a proprietary operating system such as Windoze or Mac. In particular, there are Linux tools to read .docx and .xlsx files, but there seems to be no way in the FLOSS world to read .pub files so definitely avoid those.
If, on the other hand, you do not want to work in Python, you may do your work in whatever language you prefer, within reason. Your instructor is happy to work in almost any imperative language that runs under Linux. (Well, C# can be made to run under Linux, but it's apparently not easy and your instructor strongly discourages that choice.) Functional languages (such as Haskell or Clojure) should also be avoided, since they are different enough from the Python that your instructor will be using in class demonstrations.
Academic dishonesty is any form of cheating that results in students giving or receiving unauthorized assistance in an academic exercise or receiving credit for work which is not their own. In cases of academic dishonesty, the instructor will follow protocol as identified by their department. Academic dishonesty is grounds for disciplinary action by both the instructor and the Director of Student Conduct and Community Standards. Any student found to have engaged in academic dishonesty may receive a failing grade for the work in question, a failing grade for the course, or any other lesser penalty which the instructor finds appropriate. To dispute an accusation of academic dishonesty, the student should first consult with the instructor. If the dispute remains unresolved, the student may then state their case to the department chair (or the dean if the department chair is the instructor of the course). A student may appeal a grade through the Academic Appeals Board, if eligible.
Academic dishonesty is a behavioral issue as well as an issue of academic performance. As such, it is considered an act of misconduct and is also subject to the University conduct process as defined in the CSU-Pueblo Student Code of Conduct. Whether or not disciplinary action has been implemented by the faculty, a report of the infraction should be submitted to the Office of Student Conduct & Community Standards who may initiate additional disciplinary action. The decision by the Office of Student Conduct & Community Standards may be appealed through the process outlined in the Student Code of Conduct.
If you have a documented disability that may impact your work in this class and for which you may require accommodations, please see the Disability Resource & Support Center (DRSC) as soon as possible to arrange services. The DRSC is located in LARC 169, and can be reached by phone (719-549-2648) and email (email@example.com).
Colorado State University Pueblo is committed to maintaining respectful, safe, and nonthreatening educational, working, and living environments. As part of this commitment, and in order to comply with federal law, the University has adopted a Policy on Discrimination, Protected Class Harassment, Sexual Misconduct, Intimate Partner Violence, Stalking, & Retaliation. You can find information regarding this policy, how to report violations of this policy, and resources available to you, on the Office of Institutional Equity’s website (www.csupueblo.edu/institutional-equity).
Please familiarize yourself with the reporting requirements of this policy. Because your instructor is a faculty member, he is a "Responsible Employee." That means he has to report to the Director of the Office of Institutional Equity if you tell him that you were subjected to, or engaged in, of any of the following acts: discrimination, protected class harassment, sexual misconduct, intimate partner violence, stalking, and retaliation.
The current global situation continues to affect changes in Colorado and on campus as we start spring semester. The university is continuing its work to ensure educational excellence for all students. Updates to campus operations are communicated by campus email, on the website and through social media.
When considering the health and safety of our campus community, we require that all students follow proper protocols issued by the University. It is the student’s responsibility to know what these policies are and any changes that may be occurring. Students who fail to follow protocol and guidelines will be referred to the Office of Student Conduct and Community Standards and will need to remove themselves from the classroom.
The policies related to this requirement can be found at http://csu-pueblo-policies.colostate.edu/policy.aspx?id=172 and https://www.csupueblo.edu/student-conduct/_doc/student-code-of-conduct-2020-final.pdf See Campus website for current coronavirus details: https://www.csupueblo.edu/coronavirus/student-resources/index.html.
Students in need of accommodations, or those seeking an exception to this policy, will need to contact the Disability Resource and Support Center at firstname.lastname@example.org.
The Student Counseling Center is available for you at no cost for
individual therapy online via ZOOM, in person or by phone. They can
help with depression, stress, anxiety, homesickness, test anxiety, ADD,
bipolar disorder and most other issues. They also provide Acudetox (ear
acupuncture) for free.
Please call 719-549-2838 Monday through Friday from 8am to 5pm for an appointment.
We are all going through an incredibly stressful time on many levels.
We are all whole humans, not merely learning (or teaching) machines: it is nearly impossible to be a successful student if you are worried about getting nutritious meals. Or about where you will sleep. Or about a sick relative. Or if you have to work extra hours to help support your family, Or if you have to do unexpected home childcare or schooling for a young relative. Or any of a host of other issues that could come up.
But there is a supportive network around you that wants to help you achieve your goals. By all means, if you are having difficulties of any sort, speak to the Counseling Center, the Dean of Students, or your instructor if there is anything you need. Certainly if there is any activity or policy in this course that could be better adapted to your life, don't hesitate to talk about it with your instructor.