Coastal Carolina University€¦ · Web viewdemonstrate an understanding of the purpose, behavior,...

6
20 FA CSCI 210-01 JONES CSCI 210-01 Computer Organization and Programming Fall 2020 Proposed Instructor Name William M. Jones, Ph.D., Professor of Computing Sciences Office ACOB2 235 E-Mail [email protected] Web Page https://www.coastal.edu/academics/facultyprofiles/science/computingscienc es/williammjonesjr/ Office Hours My schedule can be found linked from the above webpage. Times/Room TuTh 09:25AM – 10:40AM, AOC239 Prerequisite Grade of C or better in CSCI 150/L and MATH 174 Main Course Contents Introduction to computer organization, hardware, and assembly programming. CCU Description “This course covers the logical basis of computer structure, machine representation of information, flow of control, instructions codes, arithmetical and logical operations, indexing, indirect addressing, I/O, sub-routines, linkages, macros. Interpretive and assembly systems and pushdown stacks.” This is the first course of a two course sequence with CSCI 310 (Computer Architecture). As such, we will focus on covering the content necessary to provide a successful transition into CSCI 310. This implies that our class time will be centered around three broadly defined course objectives given below in the Course Objectives section. Texts and Other Materials 1. ZyBook ( required textbook) – (for the digital logic part of the course) 1. Click on your zyBooks link in Moodle 2. (Do not go to the zyBooks website and create a new account) 3. Subscribe 2. Altera NIOS II Programming Materials (free, will be available in moodle CSCI 210 section) 3. Online Computer System Simulator: https://cpulator.01xz.net Course Objectives a. Understand the fundamental components of a computer, and how they work together to execute a program. (computer organization and introductory CPU/memory subsystems) b. Understand how to program a computer to solve a problem in an assembly language, and to understand how this style of programming maps to higher- level languages. (assembly programming, instruction set architecture, flow control and indexing) Course Student Learning Outcomes The student will be able to: (this course will no longer cover digital logic design) 1. convert between decimal, binary, octal, and hexadecimal number systems and perform computations involving signed binary number systems. (more emphasis on this starting Fall 2019)

Transcript of Coastal Carolina University€¦ · Web viewdemonstrate an understanding of the purpose, behavior,...

Page 1: Coastal Carolina University€¦ · Web viewdemonstrate an understanding of the purpose, behavior, and relationship among the basic components of a typical Von Neumann machine architecture.

20 FA CSCI 210-01 JONES

CSCI 210-01 Computer Organization and Programming Fall 2020Proposed

InstructorName William M. Jones, Ph.D., Professor of Computing SciencesOffice ACOB2 235 E-Mail [email protected] Page https://www.coastal.edu/academics/facultyprofiles/science/computingsciences/williammjonesjr/Office Hours My schedule can be found linked from the above webpage.Times/Room TuTh 09:25AM – 10:40AM, AOC239

PrerequisiteGrade of C or better in CSCI 150/L and MATH 174

Main Course Contents

Introduction to computer organization, hardware, and assembly programming.

CCU Description“This course covers the logical basis of computer structure, machine representation of information, flow of control, instructions codes, arithmetical and logical operations, indexing, indirect addressing, I/O, sub-routines, linkages, macros. Interpretive and assembly systems and pushdown stacks.”

This is the first course of a two course sequence with CSCI 310 (Computer Architecture). As such, we will focus oncovering the content necessary to provide a successful transition into CSCI 310. This implies that our class timewill be centered around three broadly defined course objectives given below in the Course Objectives section.

Texts and Other Materials1. ZyBook (required textbook) – (for the digital logic part of the course)

1. Click on your zyBooks link in Moodle2. (Do not go to the zyBooks website and create a new account)3. Subscribe

2. Altera NIOS II Programming Materials (free, will be available in moodle CSCI 210 section)3. Online Computer System Simulator: https://cpulator.01xz.net

Course Objectives

a. Understand the fundamental components of a computer, and how they work together to execute a program. (computer organization and introductory CPU/memory subsystems)

b. Understand how to program a computer to solve a problem in an assembly language, and to understand how this style of programming maps to higher-level languages. (assembly programming, instruction set architecture, flow control and indexing)

Course Student Learning OutcomesThe student will be able to: (this course will no longer cover digital logic design)

1. convert between decimal, binary, octal, and hexadecimal number systems and perform computations involving signed binary number systems. (more emphasis on this starting Fall 2019)

2. demonstrate an understanding of the purpose, behavior, and relationship among the basic components of a typical Von Neumann machine architecture. (more emphasis on this starting Fall 2019)

3. demonstrate a basic understanding of low-level programming by completing programs that require multi-level control flow, addressing modes, modules with parameter passing and return, and/or special and general purpose registers (more emphasis on this starting Fall 2019)

4. define and explain the process of translating, linking and loading a program.5. demonstrate an understanding of the relationship between a high-level C-like language and a low-level assembly

language (more emphasis on this starting Fall 2019)

GradingGrades will be assigned according to the standard 10-point grading scale with possible “+” letter grades.

There will be no curving of grades during the semester. I MAY decide after all grades are in at the end of the semester to curve, based on the cumulative difficulty of the material, averages, etc; however you should not assume that any curve will be given.

Page 2: Coastal Carolina University€¦ · Web viewdemonstrate an understanding of the purpose, behavior, and relationship among the basic components of a typical Von Neumann machine architecture.

20 FA CSCI 210-01 JONES

Grades will be based on quizzes, assignments, 2 tests, and a final exam. Your final grade will be calculated as follows:

Assignments 30%Quizzes 10%Tests (2) 40%Final Exam 20%

As you can see, a good bit of the weight is given to “Assignments”. This category includes, but is not limited to, in-class lab-based designs and programs, as well as homework, and longer-term group-based assignments.

Note about any extra credit: I reserve to right, up until the end of the course, to determine how and whenextra credit will be calculated into the final score, if applicable.

Note: You should not make assumptions about what will take place in this course based on what has takenplace in this course during prior semesters. I reserve to right to either follow or not follow prior practices.

ADA Statement

Coastal Carolina University is committed to equitable access and inclusion of individuals with disabilities in accordance with the Americans with Disabilities Act and Section 504 of the Rehabilitation Act. Individuals seeking reasonable accommodations should contact Accessibility & Disability Services (843-349-2503 or https://www.coastal.edu/disabilityservices/).

Course Policies

Attendance:

Attendance is expected, and you are expected to be on time for class. The CCU University Catalog states, with respect to attendance, that “An instructor is permitted to impose a penalty, including assigning the grade of F, for unexcused absences in excess of 25% of the regularly scheduled class meetings.” Attendance will be taken, and absences in excess of 25% of our class meetings will result in a failing grade, no matter what your actual performance in the course happens to be. The Catalog also states that “Absences will be excused for documented cases of:

a) incapacitating illness,b) official representation of the University (excuses for official representation of the University should be obtained from the official supervising the activity),c) death of a close relative, andd) religious holidays.”

In short: Attendance is requiredNo late work accepted.Make-up tests by prior appointment only.Wait 15 minutes for late instructor.

Tests

Tests will be given during regularly scheduled class times. Make-ups for missed tests will not be allowed without prior approval from the instructor and only when the absence is excused (verification may be required).

E-mail Communication

I will normally respond to e-mails within one day. I do not normally read student e-mails on the weekends, so do not expect an immediate response if an e-mail is sent then; however in some cases I will be able to respond during the weekend. University policy dictates that all e-mail communication regarding class issues be conducted with students via their Coastal e-mail address. E-mail from other addresses will not be answered.

An e-mail must have the correct course number in the subject. If you send me email without a subject, it is very likely that I will throw it away as SPAM. If you send me email, use correct spelling, grammar and punctuation. Do not send email to me using instant messaging code or txt-speak. If you do, I will throw away your email.

Hints for Success

• Start working on assignments early. • You can't leave things to the last minute in this course. • If you get stuck, take a break and then go back to think about it. • Ask questions! Don't hesitate to contact me if you have any problems or don't understand something. • Be familiar with the reading material before coming to class.

Page 3: Coastal Carolina University€¦ · Web viewdemonstrate an understanding of the purpose, behavior, and relationship among the basic components of a typical Von Neumann machine architecture.

20 FA CSCI 210-01 JONES

• Attend class!

Academic Honesty

Coastal’s policy on academic integrity as stated in the Student Code of Conduct:

Coastal Carolina University is an academic community that expects the highest standards of honesty, integrity and personal responsibility. Members of this community are accountable for their actions and reporting the inappropriate action of others and are committed to creating an atmosphere of mutual respect and trust.

Cheating and plagiarism will not be tolerated. Students are required to turn in their own work, unless otherwise specifically allowed by the instructor. Submitting a copy of another student’s work or allowing your work to be copied by another student is a violation of academic integrity. Falsification of program output is also a violation of academic integrity. Penalties for violations of academic integrity WILL include a grade of FX for the course, no exceptions and notification of the Provost of the University. Please refer to the Student Handbook from the Office of Student Affairs for more information regarding Coastal Carolina University’s Student Code of Conduct and Academic Responsibility.

The instructor’s decision as to whether to report a student for a possible violation of the academic honesty on an assignment depends on a variety of factors including the intent of the assignment and the behavior of the student. Two general guidelines will be used in making the decision:• Program plagiarism will be suspected if an assignment that calls for individual work results in two or more programs so similar that one can be converted to another by purely mechanical transformations. The same is true for assignment plagiarism.• Cheating will be suspected if a student who was to complete an assignment independently cannot explain both the intricacies of his/her solution and the techniques used to generate that solution.To avoid any semblance of plagiarism, it is recommended that observe the following guidelines:• Allowing another student to examine your program or assignment solution or examining another student's program or assignment solution, for any reason, is strictly forbidden. • You may discuss only the following with other students: The program statement (e.g., “What size inputs do we need to handle?'”). Syntax errors and features of programming languages (e.g., “How do I declare a file?'” or ”Do I need to terminate the last line in a procedure with a semi-colon?”). • Discussion of solutions to an assignment must be limited to a discussion of what was discussed in class, in handouts or in the book. You may not otherwise discuss algorithms to be used to solve programming assignments (e.g., you should not ask or answer “Should I use linked lists to store the input lines?”) except to discuss what was said in class about the issue.• Attempting to falsely represent the correctness of your program, or to delay other members of the class from completing a programming assignment, is cheating.• You are discouraged, in the strongest possible terms, from making a habit of getting together with another student while you work on a programming project or homework assignment with the idea that you will limit yourselves to discussion of problems such as syntax errors only. There are too many temptations, and if by chance your programs or assignments wind up being very similar, you will find it difficult to make a convincing argument that you limited yourselves to allowable discussions of the project.

ChangesThe instructor reserves the right to make changes in this syllabus at any time.

MoodleCheck Moodle daily for updates

Page 4: Coastal Carolina University€¦ · Web viewdemonstrate an understanding of the purpose, behavior, and relationship among the basic components of a typical Von Neumann machine architecture.

20 FA CSCI 210-01 JONES

Course Student Learning OutcomesThe student will be able to:

1. convert between decimal, binary, octal, and hexadecimal number systems and perform computations involving signed binary number systems. (more emphasis on this starting Fall 2019)

2. demonstrate an understanding of the purpose, behavior, and relationship among the basic components of a typical Von Neumann machine architecture. (more emphasis on this starting Fall 2019)

3. demonstrate a basic understanding of low-level programming by completing programs that require multi-level control flow, addressing modes, modules with parameter passing and return, and/or special and general purpose registers (more emphasis on this starting Fall 2019)

4. define and explain the process of translating, linking and loading a program.5. demonstrate an understanding of the relationship between a high-level C-like language and a low-level assembly

language (more emphasis on this starting Fall 2019)

Course SLOs Mapping to ABET PEO/SLOs

Page 5: Coastal Carolina University€¦ · Web viewdemonstrate an understanding of the purpose, behavior, and relationship among the basic components of a typical Von Neumann machine architecture.

20 FA CSCI 210-01 JONES