首页 > 其他分享 >CPSC 326 虚拟机实现

CPSC 326 虚拟机实现

时间:2023-03-31 19:33:24浏览次数:50  
标签:tests code assignment 虚拟机 CPSC will points 326 your

CPSC 326: Homework Assignment 5 Due: Tuesday, Apr. 4

Goals:

Develop a better understanding of VM-based stack machines and their use in PL interpretation.

Implement the MyPL bare-bones VM interpreter.

You are free to use whatever IDE and machine you prefer for this class. However, to complete the assignment, you will need git, g++ (version 11 or higher), cmake, make, the google test framework, and valgrind installed. It can also be useful to have a debugger such as gdb installed as well. Each of these are already installed on the remote development server (ada.gonzaga.edu) provided by the CS Department. However, you may also install these programs on your own machine, via a virtual machine, running WSL2, or on your own remote server. Note that you will also need a GitHub account for obtaining starter code and for submitting your assignment.

Instructions:

1. Use the GitHub Classroom link (posted in Piazza) to copy the starter code into your own repository. Clone the repository in the directory where you will be working on the assignment (e.g., onto ada or your own machine).

2. Finish the VM implementation by filling out the vm.cpp file.

3. Ensure your code passes the unit tests provided in vm_tests.cpp within the tests subdirectory.

4. Finish the implementation of the hw6.cpp program. In particular, you must implement the given MyPL program (given in hw6.cpp) as VM instructions. This will also serve as a test of your VM implementation.

5. Create a short write up as a pdf file named hw6-writeup.pdf. For this assignment, your write up should provide a short description of any challenges and/or issues you faced in finishing the assignment and how you addressed them along with evidence (screenshots) that your hw6 program is working correctly. The screenshots should show the running of hw6 with a variety of different inputs. Be sure your hw6-writeup.pdf file is in the main directory of your assignment (and not within the src directory or any other subdirectory).

6. Submit your program. Be sure to add, commit, and push all assignment files to your GitHub repo. You can verify that your work has been submitted via the GitHub page for your repo.

Homework Submission and Grading. Your homework will be graded using the files you have pushed to your GitHub repository. Thus, you must ensure that all of the files needed to compile and run your code have been successfully pushed to your GitHub repo for the assignment. Note that this also includes your homework writeup. This homework assignment is worth a total of 30 points. The points will be allocated according to the following.

1. Correct and Complete (24 points). Your homework will be evaluated using a variety of different tests (for most assignments, via unit tests as well as test runs using specific files). Each failed test will result in a loss of 2 points. If 10 or more tests fail, but some tests pass, 4 points (out of the 24) will be awarded as partial credit. Note that all 24 points may be deducted if your code does not compile, large portions of work are missing or incomplete (e.g., stubbed out), and/or the specified techniques, design, or instructions were not followed.

2. Evidence and Quality of Testing (2 points). For each assignment, you must provide additional tests that you used to ensure your program works correctly. Note that for most assignments, a specific set of tests will be requested. A score of 0 is given if no additional tests are provided, 1 if the tests are only partially completed (e.g., missing tests) or the tests provided are of low quality, and 2 if the minimum number of tests are provided and are of sufficient quality.

3. Clean Code (2 points). In this class, “clean code” refers to consistent and proper code formatting (indentation, white space, new lines), use of appropriate comments throughout the code (including file headers), no debugging output, no commented out code, meaningful variable names and helper functions (if allowed), and overall well-organized, efficient, and straightforward code that uses stan- dard coding techniques. In addition, when compiled, your code should not have any warnings. A score of 0 is given if there are major issues, 1 if there are minor issues, and 2 if the “cleanliness” of the code submitted is satisfactory for the assignment.

4. Writeup (2 points). Each assignment will require you to provide a small writeup addressing chal- lenges you faced and how you addressed them as well as an explanation of the tests you developed. Homework writeups do not need to be long, and instead, should be clear and concise. A score of 0 is given if no writeup is provided, 1 if parts are missing, and 2 if the writeup is satisfactory.

WX:codehelp mailto: [email protected]

标签:tests,code,assignment,虚拟机,CPSC,will,points,326,your
From: https://www.cnblogs.com/hopepython/p/17277290.html

相关文章

  • windows10 安装 统信虚拟机 调试证卡打印机
    注意:   1 不能识别USB设备  服务VMwareUSBArbitrationService要开启   2USB兼容性选择3.1      3 usb.restrictions.defaultallow......
  • KVM 使用 Centos CLoud Image 安装虚拟机
    1下载镜像#资源地址:https://cloud.centos.org/centos/7/images/wgethttps://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2009.qcow2c2拷贝虚......
  • VM虚拟机安装centos7.9并docker启动showdoc
    一、准备工作安装VMwareworkstations16版本,这个不做过多的介绍下载centos64位dvd版的centos7.9的镜像文件创建虚拟机,此过程也不做过多的介绍,设置root密码的时候千万要......
  • 云服务Skytap三大重要更新 让虚拟机测试与操作更简单
    云服务提供商Skytap今日宣布服务进行了三大重要更新,让虚拟机测试与操作变得更简单,包括更简单的远程访问,个性化的使用报告,应对流量问题的应急方案。下面是更新功能详细介绍:远......
  • mac虚拟机能玩游戏吗 mac虚拟机玩游戏怎样才不卡
    有一些游戏在mac客户端是不能正常运行的,我们可以通过虚拟机在mac中安装游戏客户端。mac虚拟机能玩游戏吗?可以玩的,但也不是所有windows端游戏都可以玩,有些游戏厂商禁止使用虚......
  • Jx9 虚拟机
     一、Jx9虚拟机的生命周期加载Jx9脚本jx9_compile()或jx9_compile_file(),加载编译成功后,Jx9引擎将自动创建一个实例(jx9_vm)并且返回指向此虚拟机的指针用于后续......
  • 深入理解 python 虚拟机:pyc 文件结构
    深入理解python虚拟机:pyc文件结构在本篇文章当中主要给大家介绍一下.py文件在被编译之后对应的pyc文件结构,pyc文件当中的一个核心内容就是python字节码。pyc......
  • CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
    作者:林苍背景容器无疑已经成为新的云计算基础设施,企业私有云平台的建设重心,正在从虚拟化的计算、存储、网络的建设,转向构建以容器、微服务等为核心的云原生平台。不过......
  • Ubuntu 虚拟机搭建
    一、基础版本二、搭建步骤三、基础环境配置 一、基础版本外部系统:Windows10虚拟机环境:VirtualBox7.0Ubu......
  • 一句话讲明Hyper-V虚拟机如何上网
    最近研究Hyper-V,好像提问比较多的就是Hyper-V要上网怎么办 Hyper-V要上网,你就现在Hyper-V里面创建一个的switch,switch会在物理主机上创建一个虚拟网卡,虚拟网卡和物理网卡......