Dan S. Myers (Dr. Myers)
Bush 263
[email protected]
407-646-2151
- Mondays and Wednesdays 9:00 to 10:00
- Tuesday 2:00 to 3:30
rollins.webex.com/meet/dmyers
CMS 230 Computer Systems and Architecture: Introduction to the study of how software controls the critical hardware components of a computer’s architecture, the CPU and RAM. Topics include development of C language programs, comparison of high-order procedural languages to machine language programs, CPU organization and functionality at the register/bus level, instruction formats, and development of machine language and assembly level programs using multiple addressing modes, flow-of-control branching and subroutine calls. Prereq: CMS 170 or CMS121.
At the end of this course, you will be able to
- Write moderately complex programs in the C language using the standard tools for C programming in a Linux environment.
- Convert major procedural language code structures---arithmetic, conditional statements, loops, subroutines---into their assembly langauge equivalents.
- Write small ARM assembly language programs. Read and understand ARM assembly code.
- Describe how integers, characters and floating point numbers are implemented on real computers.
- Describe important elements of computer architecture. Understand the memory hierarchy, caching, and their impact on program execution.
- Understand how system-level issues can cause security problems. Describe the mechanics of the buffer overflow attack and how to defend against it.
There is no assigned textbook. We will work through a set of notes and examples prepared by Dr. Summet and Dr. Myers.
Unit | Topic | Assignment |
---|---|---|
1 | Intro to C, pointers, and arrays | C problems |
2 | Computer organization, data representations | Written problems and some more C |
3 | Intro to ARM assembly language | Assembly programs |
4 | Assembly language: subroutines | Recursive assembly programs |
5 | Important security topics | Tales from the crypt |
6 | Memory, storage, and caching | Experiment |
7 | Transition to operating systems | Something |
- First day of class: August 21
- Last day of class: December 1
- Labor Day: September 4
- Fall break: October 7 to October 10
- Last day to drop the class: September 1
- Last day to withdraw without penalty: November 3
Grading for this course will be different from your previous classes.
Rather than calculating your score as number of points on a 0-100 scale, your grade will be based on attaining satisfactory performance on a bundle of assignments. This approach is called Specifications Grading or Contract Grading and it has several advantages over the traditional 0-100 based points system.
If you achieve satisfactory performance on enough assigments, described in more detail below, you'll receive a baseline grade of B for the course. This demonstrates that you have engaged with the material and met the basic learning outcomes for the class. To get a higher grade, you can do more work that shows greater mastery of the course learning outcomes.
We'll have three kinds of assignments in this class:
-
A set of about six homework assignments containing a mixture of written and programming problems.
-
Challenge problems, three during the semester, which are somewhat more complex than the regular homework questions and require you to stretch a little bit.
-
Midterm and final exams. These will test your basic knowledge of the core course content. The midterm will be given in class during the week before Fall Break. The final will be given at our assigned final exam time. The final exam will cover the second half of the course; it is not cumulative.
I will grade most of the items you turn in on a two-level scale: your work will be either satisfactory or receive no credit. "Satisfactory" means that the work is:
- Substantially complete and correct (there may be a few issues, but only minor ones).
- Shows real understanding and application of the course material.
- Completed on time in the required format.
For programming assignments, you must make a fair attempt on every problem.
To earn a B, you must meet the following criteria:
- Earn satisfactory credit on all of homework assignments during the entire semester.
- Pass the midterm and final exams with a grade of at least 80% on each.
If you fail to complete the requirements for a B, your grade will be adjusted downwards according to the following table:
Performance | Your grade will be adjusted downwards by |
---|---|
First unsatisfactory or missing assignment | Fraction of a letter grade (e.g. B to B-) |
Additional unsatisfactory or missed assignments | One full letter grade (e.g., B to C) for each one |
Exam score below 80% | Fraction of a letter grade |
Exam score below 60% | One full letter grade |
To earn a higher grade, you can complete additional work that shows deeper engagement with the course goals. Each challenge project that you complete will boost your grade by one part of a letter (e.g., B to B+). To earn an A, complete all the requirements for a B plus three additional challenge projects.
If your grade drops, you can still complete extra work to boost it up. For example, you could struggle with one project, but complete a challenge project. The two would cancel each other out and your grade would remain a B.
-
In a traditional system, your grade is ultimately determined by my judgment of your work. My judgment is pretty good, but specs grading gives you more clarity about where you stand and guidance for how to achieve the grade you want
-
Your grade is directly tied to the learning that you demonstrate. The satisfactory work sets a baseline, but to earn a higher grade, you must demonstrate a higher level of engagement with the course material.
-
It's relatively easy to get a B if you do the required work, but hard to get an A. This preserves the integrity of the course, while still making it possible for everyone to succeed.
-
If you only need a B or a C, you can adjust your effort accordingly: the standards are transparent. You don't have to spend time on the most difficult assignments if you don't need them to get the result you want.
-
It reflects how you'll be evaluated in your career. Work assignments aren't graded out of 100% and your boss won't give partial credit for incomplete work. So, basically, I'm setting you up for massive career success.
This is probably a new approach to grading for you. In particular, students new to specs grading often have anxiety about the lack of partial credit in the system.
Here are a few things to keep in mind:
-
You don't have to be perfect. The "substantially complete and correct" standard allows for imperfections in your answers and you only need 90% for the reading and most assignments, so you don't have to correctly answer, or even attempt, every problem, so long as your cumulative work meets the required standard.
-
You do need to be consistent. The system rewards you for putting forward good, consistent effort. Working diligently and carefully will allow you to meet the specs for a B.
-
You will get lots of feedback. The autograded tests will tell you, unambiguously, whether your answers for a programming question are correct or not. The standards for the final project and the lab reports will likewise be transparent.
Attendance The only way to be consistently successful in your academic career is to regularly attend class meetings and participate in in-class activities. Therefore, while I do not mandate attendance at every single class, I expect full attendance every time we meet. Don't attend class if you're sick.
Laptops If you have a laptop, please bring it to class.
Phones Unlike laptops, I see few advantages to using phones during class. Please silence your phones at the beginning of class. Holding text conversations during class is both distracting and disrespectful and will not be tolerated.
Late submissions Assignments are due on the stated day at the stated time. Speak to me in well in advance of the due date if you need an extension.
Please speak to me if there are any issues making it difficult for you to succeed in class. We can always work out a plan to deal with illness, work, or family responsibilities.
Recording No audio or video recording is permitted without prior permission.
Canvas and GitHub Most of the course material will be distributed through GitHub. We'll use Canvas to keep track of grades, announcements, and a few other things.
As your course facilitator, I will make every effort to adhere to the topics and schedule described in this syllabus. However, I reserve the right to make changes for the good of the course.
I will allow you to use AI tools on most assignments in this class. I encourage you to use AI tools to engage with class material. For example, using AI for interactive tutoring can be an effective way to learn.
Some assignments, however, are only useful if they’re done by you, yourself, without AI assistance. I will provide you with instructions on how you are and are not allowed to use AI on each assignment. Using an AI tool on an assignment that prohibits it is academic misconduct and a violation of the Honor Code.
Keep the following facts in mind when you’re using AI tools.
-
AI isn’t a shortcut. You should plan to spend about the same amount of time on an assignment with AI that you would have spent pre-AI, but produce better quality results. Mediocre AI-generated content is easy to create, but worthless. Raise your standards!
-
AI models can hallucinate facts, including citations, quotes, and dates. Don’t trust the output of a model unless you know that it’s true or can check it against an independent source. AI works best on subjects you know well.
-
Remember that AI has limitations and biases. Do not assume AI output is neutral. Validate against credible sources.
-
Critically evaluate all results produced by an AI tool—for correctness, of course, but also for quality. Ask yourself: Is this good? Is it doing what I want? How can it be improved? You’re responsible for the quality and correctness of the finished product. AI-supported writing requires taste and judgment—practice thinking like an editor.
-
Don’t simply accept the first response. You may need to ask a question multiple times, in different ways, to get a useful result. Generic prompts yield generic output. As you practice interacting with AI, you’ll learn how to use it as a collaborator.
-
Learn the strengths and weaknesses of your tools and choose the right tool for the task. We’ll talk about this in class.
-
AI models are software tools, not magic. Remember that you are always in control, and you’re free to accept, reject, or change AI-generated content.
Membership in the student body of Rollins College carries with it an obligation, and requires a commitment, to act with honor in all things. The student commitment to uphold the values of honor--honesty, trust, respect, fairness, and responsibility--particularly manifests itself in two public aspects of student life. First, as part of the admission process to the College, students agree to commit themselves to the Honor Code. Then, as part of the matriculation process during Orientation, students sign a more detailed pledge to uphold the Honor Code and to conduct themselves honorably in all their activities, both academic and social, as a Rollins student. A student signature on the following pledge is a binding commitment by the student that lasts for his or her entire tenure at Rollins College:
The development of the virtues of Honor and Integrity are integral to a Rollins College education and to membership in the Rollins College community. Therefore, I, a student of Rollins College, pledge to show my commitment to these virtues by abstaining from any lying, cheating, or plagiarism in my academic endeavors and by behaving responsibly, respectfully and honorably in my social life and in my relationships with others. This pledge is reinforced every time a student submits work for academic credit as his/her own. Students shall add to the paper, quiz, test, lab report, etc., the handwritten signed statement:
“On my honor, I have not given, nor received, nor witnessed any unauthorized assistance on this work.”
Material submitted electronically should contain the pledge; submission implies signing the pledge.
In the context of this class, my interpretation of the Honor Code pledge is that the work you submit for every assignment shall be your own original creation. This means that any item you submit must be written by you and you alone, or in an assigned group project by your group alone. Copying a complete solution from fellow class members, previous class members, books, or the Internet is a violation of this policy and will constitute academic misconduct.
It is acceptable to discuss questions and solutions in general terms with other class members, but your discussions should not be at a level of detail that would lead to you submitting the same work as a another student.
Rollins College is committed to equal access and inclusion for all students, faculty and staff. The Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990 create a foundation of legal obligations to provide an accessible educational environment that does not discriminate against persons with disabilities. It is the spirit of these laws that guides the college toward expanding access in all courses and programs, utilizing innovative instructional design, and identifying and removing barriers whenever possible.
If you are a person with a disability and anticipate needing any type of academic accommodations in order to fully participate in your classes, please contact the Office of Accessibility Services, located on the first floor of the Olin Library, as soon as possible. You are encouraged to schedule a Welcome Meeting by filling out the “First Time Users” form on the website: https://www.rollins.edu/accessibilityservices and/or reach out by phone or email: 407-975-6463 or [email protected].
All test-taking accommodations requested for this course must first be approved through the Office of Accessibility Services (OAS) and scheduled online through Accommodate at least 72 hours before the exam. Official accommodation letters must be received by and discussed with the faculty in advance. There will be no exceptions given unless previously approved by the OAS with documentation of the emergency situation. We highly recommend making all testing accommodations at the beginning of the semester. OAS staff are available to assist with this process.
As per the Academic Honor Code, plagiarism is defined as “Offering the words, facts, or ideas of another person as your own in any academic exercise.” In order to avoid plagiarism, all students are expected to use proper citation norms. For our course, all assignments will use [faculty choice - MLA, Chicago, APA, etc] citation style.
The professor will accommodate a reasonable number of excused absences for religious holidays and official off-campus college business such as academic conference presentations and athletic competitions. However, per the College’s policy on excused absences (http://www.rollins.edu/catalogue/academic_regulations.html#class-attendance), students must discuss with the professor the dates of the anticipated absences no later than the last day of the drop period. Students must present to their professor written evidence of the anticipated absences and discuss with him/her how and when make-up work should be completed prior to missing the class. Students should not expect to receive allowance for excused absences if they do not meet with the professor beforehand and clarify the dates as necessary. Absences will be addressed by the faculty member in accordance with his/her attendance policy. The professor retains the right to determine what would be considered to be a reasonable number of absences (excused or otherwise) for the course. A student will not fail a course because the number of religious observances and/or college business absences exceed the number of absences allowed, except if excessive absences make it impossible to fulfill the expectations of the course. The student’s class participation grade in the course, though, may still be affected.
This course is a four-credit-hour course that meets three hours per week. The value of four credit hours results, in part, from work expected of enrolled students both inside and outside the classroom. Rollins faculty require that students average at least 2 ½ hours of outside work for every hour of scheduled class time. In this course, the additional outside-of-class expectations are reading and substantial programming projects in our online programming environment.
In order to protect the integrity of the classroom experience, the use of recording devices is limited to either the expressed permission of the faculty member or with proper documentation from the Office of Accessibility Services. Information about accommodations through Accessibility Services can be found at http://www.rollins.edu/accessibility-services/. Recording without the proper authorization is considered a violation of the Rollins Code of Community Standards.
Rollins College is committed to making its campus a safe place for students. If you tell any of your faculty about sexual misconduct involving members of the campus community, your professors are required to report this information to the Title IX Coordinator. Your faculty member can help connect you with the Title IX Coordinator, ([email protected] or 407.691.1773). You will be provided with information, resources and support. If you would prefer to speak to someone on campus confidentially, please call the Wellness Center at 407.628.6340. They are not required to report any information you share with the Title IX Coordinator. Misconduct under Title IX includes gender-based discrimination and harassment, sexual harassment, sexual violence including fondling and assault, sexual coercion/force, sexual-based communication, sexual exploitation, interpersonal violence including dating and domestic violence, stalking, complicity and retaliation. Everyone is protected under the following protected statuses: sex (including pregnancy), gender, gender identity (including transgender status), gender expression, and sexual orientation. For information, visit https://www.rollins.edu/sexual-misconduct/
Links to the full list of syllabus policy statements are available here.