Programming Homework Help

Programming Homework Help. CSUGC Database Security Report

You have been hired as the security consultant for a law firm. As your first task, you have been asked to complete a security audit of their web applications. Answer the following questions in your research paper:

  1. What are the first steps that you would take to test the sites for SQL injection vulnerability?
  2. How might you apply the concept of inferential testing?
  3. What is your strategy for identifying dangerous source code now and far into the future?
  4. What suggestions would you offer this law firm in reference to their web clients?

Programming Homework Help

Programming Homework Help

Programming Homework Help. CMIT 391 UMUC Migration to Linux Proposal Presentation

(10.1.1: Identify the problem to be solved.)

  • Based on your current understanding of Faster Computing’s business, what are some potential benefits of Linux?
  • The company is aware that many different Linux derivatives exist. Be very specific and choose only one version (e.g., Ubuntu, Mint, Zorin, Redhat, CentOS, Kali). Which would Go2Linux recommend, and why? Give specific reasons for your choice (e.g., security features, support, updates, user interface).

(10.1.2: Gather project requirements to meet stakeholder needs.)

  • What steps will be required to migrate the systems from Windows to Linux?
  • Are there graphical interfaces available for the Linux workstations that would provide similar functionality to Windows? Some users are concerned about working with a command-line interface.

(10.1.3: Define the specifications of required technologies.)

  • What tools are available on Linux for the servers to provide file sharing, Linux services, and printing? (e.g., Apache/Nginx, Samba, CUPS, SSH/SCP). Ensure you identify what the functions/services are used for (e.g., Samba is used for file sharing).

(1.1.3: Present ideas in a clear, logical order appropriate to the task.)

(2.3.1: State conclusions or solutions clearly and precisely.)

You should present your proposal as if you are selling to the company. Revisit all of these important reasons in the summary slide.

Programming Homework Help

Programming Homework Help

Programming Homework Help. Public Static Void Java Code

this is template:

import java.time.LocalDate;
import java.util.List;
import java.util.LinkedList;
import java.util.Scanner;

public class ManageVideoGames {

public static void main(String[] args) {

//2.2.2 Application Class - ManageVideoGames

//create an empty list of VideoGames

//1. display menu

//2. get user choice

//3. take action based on user choice

//4. loop through steps 1, 2, 3 above until user quits

}

//define other methods for modularization, samples are listed below.

//method to display menu
public static void displayMenu() {

}

//method to get user choice
public static int getUserChoice() {
//add your code

return -1;
}


//method to get user input, create and return a video game
public static VideoGame getNewGame() {
//add your code here

return null;
}

//method to add a video game without maintaining sorted order
//add your own code

//method to remove a game based on user input
//add your own code

//method to find the game with latest release date
//add your own code

//OPTIONAL BONUS:
// method to add a video game in alphabetical order of game titles
//add your own code

} //////
/newer Java API for handling date values import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class VideoGame implements Comparable<VideoGame> { //2.2.1 Entity Class - VideoGame private static final int DEFAULT_NUMBER_OF_PLATFORMS = 5; //data fields private String title; private String developer; //lead developer private String platforms[]; private LocalDate releaseDate; @Override public String toString() { //add your code //return a string including all infor. about a game // date value included in format: 9/15/2020 for Sep. 15, 2020 return "NOT Done yet"; } @Override public boolean equals(Object otherObject) { //add your code // comparing two VideoGame objects based only on title return false; } //******The following code don't need to be changed.*****// //You don't need to change this method. //This method is used in addVideoGameIn. @Override public int compareTo(VideoGame other) { return this.title.compareTo(other.title); } //no-argument constructor public VideoGame() { platforms = new String[DEFAULT_NUMBER_OF_PLATFORMS]; } //constructor taking in values for all data fields public VideoGame(String title, String developer, String[] platforms, LocalDate releaseDate) { this.title = title; this.developer = developer; this.platforms = platforms; this.releaseDate = releaseDate; } //getters return the values public String getTitle() { return title; } public String getDeveloper() { return developer; } public String[] getPlatforms() { return platforms; } public LocalDate getReleaseDate() { return releaseDate; } //setters public void setTitle(String title) { this.title = title; } public void setDeveloper(String developer) { this.developer = developer; } public void setPlatforms(String[] platforms) { this.platforms = platforms; } public void setReleaseDate(LocalDate releaseDate) { this.releaseDate = releaseDate; } } ////// //* For Assign 2, you only need the 2 classes below if your operating system date and time is in USA format. import java.time.LocalDate; import java.time.format.DateTimeFormatter; /** * @author Cindy Li */ public class TestDate { public static void main(String[] args) { //1. create LocalDate objects //Use method: // static LocalDate of(int year, int month, int dayOfMonth) //Get a LocalDate object based on the given year, month, and dayOfMonth. //Example 1: //For the date in US format: 9/30/2018 (Sep. 30, 2018) // call static method of(int year, int month, int dayOfMonth), where the parameters mean: // year in the local date value // month in the local date value, 1 for January, 2 for February, etc. // dayOfMonth: the day of the month in the local date value. LocalDate date1 = LocalDate.of(2021, 8, 13); //August 13, 2021 LocalDate date2 = LocalDate.of(2018, 9, 30); //September 30, 2018 System.out.println("d1: " + date1); System.out.println("d2: " + date2); //2. Compare two Date values //2.1 use different methods: isBefore(...), isAfter(...), equals(...) if (date1.isAfter(date2)) { System.out.println("n" + date1 + " is after " + date2); } if (date1.equals(date2)) { System.out.println(date1 + " is on same date as " + date2); } if (date1.isBefore(date2)) { System.out.println(date1 + " is before " + date2); } //2.2 use one method: compareTo(...) if (date1.compareTo(date2) > 0) { System.out.println(date1 + " is after " + date2); } else if (date1.compareTo(date2) == 0) { System.out.println(date1 + " is on same date as " + date2); } else { System.out.println(date1 + " is before " + date2); } //3. Format local date values //**********You will need these 3 things in Assign 2.************// //make a date from year, month, day LocalDate localDate = LocalDate.of(2009, 9, 10); //Sep. 10, 2009 System.out.println(localDate); //format a date //get a DateTimeFormatter object using the format pattern: like 9/10/2009 DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("M/d/yyyy"); // 9/10/2009 //use the DateTimeFormatter to format the localDate value in the pattern: "M/d/yyyy". System.out.println(dateFormatter.format(localDate)); //date value comparison //make a date from year, month, day LocalDate today = LocalDate.now(); //current date LocalDate christmas = LocalDate.of(2021, 12, 24); // 12/24/2021 System.out.println("today: " + today); System.out.println("christimas: " + christmas); System.out.println("has christmas passed this year? " + today.isAfter(christmas)); } } /*-----Program Output d1: 2021-08-13 d2: 2018-09-30 2021-08-13 is after 2018-09-30 2021-08-13 is after 2018-09-30 2009-09-10 9/10/2009 today: 2021-09-03 christimas: 2021-12-24 has christmas passed this year? false */ /// //File: TestDateOld.java
//* If you have not handled dates before, please use the code in TestDate.java
//* in package: assign2_template.
//* Use the code here only if you have used dates in Java 7 API before.

//* You don’t need to change these two files.
//* Just use them as a reference for handling date values.

//* This file is for demo how to use the old Java 7 API.
//* for handling dates related to Assign 2.

//* Simple examples of using Java classes: java.util.Date, java.text.DateFormat, and java.util.Locale.
//* For Assign 2, you only need java.util.Date and java.text.DateFormat if your operating system date and time is USA format.
//* Note about using the constructor of java.util.Date class.
// In all methods of class Date that accept or return year, month, date (day in a month), hours, minutes, and seconds values, the following representations are used:
// A year y is represented by the integer y - 1900.
// A month is represented by an integer from 0 to 11; 0 is January, 1 is February, and so forth; thus 11 is December.
// A date (day in a month) is represented by an integer from 1 to 31 in the usual manner.
//* Note about Date format styles and Locales
// Sample Date format styles in 2 sample locales
// Style U.S. Locale French Locale
// DEFAULT Jun 30, 2009 30 june 2009
// SHORT 6/30/09 30/06/09
// MEDIUM Jun 30, 2009 30 june 2009
// LONG June 30, 2009 30 june 2009
// FULL Tuesday, June 30, 2009 mardi 30 june 2009



import java.util.Date;
import java.text.DateFormat;
import java.util.Locale;

/**
*
* @author cindy
*/
public class TestDateOld {

public static void main(String[] args) {
//1. Create Date objects

Date date1 = new Date(); //the Date value for today when the program is executed.
//For the date in US format: 9/30/2018 (Sep. 30, 2018)
// call constructor: Date(int year, int month, int date), where the parameters mean:
// year: the value of (yearInTheDate - 1900)
// month: the value of (monthInTheDate - 1)
// date: the dayOfMonth in the Date value.
Date date2 = new Date(2018 - 1900, 9 - 1, 30);
//call toString() in Date class to get and print the date and time values.
System.out.println("date1: n" + date1);
System.out.println("date2: n" + date2);

//2. Compare two Date values

//2.1 use different methods: before(...), after(...), equals(...)
if (date1.after(date2)) {
System.out.println("n" + date1 + " is after " + date2);
}

if (date1.equals(date2)) {
System.out.println(date1 + " is on same date as " + date2);
}

if (date1.before(date2)) {
System.out.println(date1 + " is before " + date2);
}

//2.2 use one method: compareTo(...)
if (date1.compareTo(date2) > 0) {
System.out.println(date1 + " is after " + date2);
}
else if (date1.compareTo(date2) == 0) {
System.out.println(date1 + " is on same date as " + date2);
}
else {
System.out.println(date1 + " is before " + date2);
}

//3. Format Date values

//3.1 Format Date values in US format

Date todayIn = new Date(); //Date value before the formatting
String todayOut; //Date value as string after being formatted
DateFormat myDateFormatter; //a formatter for formatting Date values
//get a Date Formatter that uses DEFAULT style of Date format
// and the default FORMAT locale (i.e. the locale for formatting date, time values)
//The DEFAULT style for Date values in US format: Jun 30, 2018 for June 30, 2018.
myDateFormatter = DateFormat.getDateInstance();
//call format(...) method in DateFormat class to format the Date value
// in the style and locale associated with the DateFormat object: myDateFormatter.
todayOut = myDateFormatter.format(todayIn);
System.out.println("ntoday in DEFAULT style in my local system: n" + todayOut);

//To display the Date value in US as: 6/30/2018 for June 30, 2018
//This is what is required in Lab 4 - Assign 2
myDateFormatter = DateFormat.getDateInstance(DateFormat.SHORT);
todayOut = myDateFormatter.format(todayIn);
System.out.println("ntoday in SHORT style in my local system: n" + todayOut);

//3.2 Format Date values in the format associated with a given local tyle

Locale currentLocale = Locale.FRANCE; //set current Locale to FRANCE style
//get a Date formatter that uses the DEFAULT style for Date value and the given Locale for formatting date and time values.
DateFormat dateFormatter = DateFormat.getDateInstance(DateFormat.DEFAULT, currentLocale);
todayOut = dateFormatter.format(todayIn);
System.out.println("ntoday in DEFAULT style in the " + currentLocale.toString() + " system: n" + todayOut);


}
}

/*-----Sample Program Output
date1:
Thu Feb 04 01:34:56 EST 2021
date2:
Sun Sep 30 00:00:00 EDT 2018

Thu Feb 04 01:34:56 EST 2021 is after Sun Sep 30 00:00:00 EDT 2018
Thu Feb 04 01:34:56 EST 2021 is after Sun Sep 30 00:00:00 EDT 2018

today in DEFAULT style in my local system:
Feb 4, 2021

today in SHORT style in my local system:
2/4/21

today in DEFAULT style in the fr_FR system:
4 févr. 2021
*/

Programming Homework Help

Programming Homework Help

Programming Homework Help. BIS 344 Indiana Wesleyan University Visual Basic Net Programming Essay

BIS-344: Visual Basic Net Programming

  1. Review the rubric to make sure you understand the criteria for earning your grade.
  2. Consider the naming standards implicit in the textbook (primary) and from at least one other resource (provide explicit URL reference when applied in a post).
    1. Internet resources based up searching “Visual Basic variable naming standards”, “Visual Basic camel case”, or other.
  3. Navigate to the threaded discussion and respond to the following:
    1. What primary standards should be applied to naming VB controls? Variable names? Constants?
    2. In reviewed internet resources, what style difference (if any) was suggested versus the textbook. What value might the proposed difference bring?
    3. Pick one of the following and create an appropriate name based upon textbook standards. For variables and named constants, also specify the VB statement to declare the variable. For controls, specify what text (button, form) or descriptive form text (label, textbox) might be displayed on the form.
      1. A button control used to calculate a value based upon form textboxes.
      2. A Named Constant initialized to the literal value “North”.
      3. A label control used to display student name on the form.
      4. A text box control used for input and display of a college course name.
      5. An integer variable used to count the number of times search button has been clicked.
      6. A form used to maintain the enrollment in a college course.
      7. A named constant initialized to the phone number literal value “555-555-1212”.
      8. A decimal variable used for the total value for all invoices shipped today.
      9. A list box control used to display the student name and level enrolled in a college course.
      10. A string variable used as the message text in a Message Dialog Box.
      11. A masked text box used for input and display of course start date.
    4. Indicate the standards you applied in specifying the name and declaration.
    5. If possible, pick a declaration that has not already been discussed.
  4. Postings should be two to three paragraphs in length with the additional specific response to item 3c.

Programming Homework Help

Programming Homework Help

Programming Homework Help. Miami Dade College Build a Micro CDN Using Google Cloud Lab Report

Lab 1: Get DNS rolling

Overview

The goal of this project is to configure your own DNS zone and practice (=experience pain) with tools necessary to secure the zone (DNSSEC). This involves creating a VM, setting up a DNS server, configuring a delegated zone, generating and configuring crypto keys, and communicating necessary security parameters to the parent zone (=to the instructor).

Tasks

1. Create firewall rule

Go to Google Cloud Console -> VPC Network -> Firewall Rules. If missing, create a rule "allow-dns" and assign it a tag "allow-dns" so it allows from any source IP address (0.0.0.0/0) to access UDP port 53 and TCP port 53. Note that we went through this process in Lecture 4, recording of which is available in Canvas.

2. Create VM

  • Create VM instance “dns-server-1” (you’re free to pick your own name)Use general-purpose, E2 series, e2-micro with Ubuntu 20.04 LTS image, use us-central1-c zone.Make sure you have typed in "allow-dns" tag for the firewall. When creating, expand "Management, security, disks, networking, sole tenancy" section, go to "Networking" tab, and type in allow-dns and press enter.

Note that if you want direct ssh/scp access to the created VM, you can add your public SSH key in "Management, security, disks, networking, sole tenancy" -> "Security" tab.

3. Configuring VMs

3.1. “dns-server-1”

Note public IP address of the VM and send it to the instructor. You will be given delegation of a DNS zone.

SSH to the server and start configurations.

Update/upgrade packages and install bind9 authoritative DNS server:

sudo apt update
sudo apt upgrade
sudo apt install sshguard bind9

And now you are ready for the fun part, configuring DNS server.

With the default settings, Bind configuration is located in /etc/bind folder. Bind can work as caching resolver, authoritative resolver, or both. In our lab, we will use only the authoritative part, so we will need to delete a few files and then create a few files.

Files to delete:

  • db.0
  • db.127
  • db.255
  • db.empty
  • db.local
  • zones.rfc1918
  • named.conf.default-zones

Files to modify:

  • /etc/bind/named.conf: remove the last line that is referencing /etc/bind/named.conf.default-zones
  • /etc/bind/named.conf.local: This is the file where you can define zones for which your DNS server will be acting as authoritative DNS.

You can lookup the basic syntax for named.conf file online, but essentially it should contain blocks like:

zone "delegated.domain.name" {
  type master; // bind has also concept of "slave" that automatically sync's zone from master (not part of the lab)
  file "/etc/bind/full.path.to.the.zone.db";
};

NOTE that full.path.to.the.zone is just an example! and you need to use your own zone name (you will receive this from the instructor in this lab). Same applies to delegated.domain.name below.

If we create a proper zone file (/etc/bind/full.path.to.the.zone.db in the example above, but the exact filename is your choice), this would be enough for the delegated.domain.name domain/zone to start functioning.

To finish DNS configuration, you would need to actually create zone file, e.g., /etc/bind/full.path.to.the.zone.db.

For this lab, the zone should just contain SOA, NS, A, and the requested TXT records. The next lab will expand the set of records. For example, you can copy paste the following and then modify relevant parts:

$TTL	3600
$ORIGIN delegated.domain.name.

@	IN	SOA	delegated.domain.name. your.email.but.replace.at.with.dot. (
		     2021090300	; Serial
			   3600		; Refresh
			   3600		; Retry
			 604800		; Expire
			   3600 )	; Negative Cache TTL
;
@	IN	NS	ns1.delegated.domain.name.

ns1 IN  A   1.2.3.4   ; IP address of dns-server-1

lab1 IN TXT "This is lab1"
lab1 IN TXT "Or Sparta!"

As a requirement for the lab, your zone must contain two TXT records highlighted above:

  • lab1.<delegated.domain.name.> TXT “This is lab1”
  • lab1.<delegated.domain.name.> TXT “Or Sparta!”

After you are done, you can reload DNS server daemon so it picks up the changed you have made. However, before you do that, it is always a good idea to check sanity of the configuration. You can do it with this command:

sudo /usr/sbin/named-checkconf -z /etc/bind/named.conf

If everything is fine, reload DNS server daamon:

sudo rndc reload 

4. Configure DNSSEC

To configure DNSSEC for the zone, just follow these instructions.

.

.

.

Ok, I just wanted to highlight that doing by hand can be daunting and not really feasible in the long run. Luckily, there are various tools that you can use to mostly automate the process.

However, we will defer this to another lab. For lab-1, try to read the linked instructions and gather ideas about the process, and questions about the process.

5. Checks

To check if DNS properly returns what you are expecting, use dig command (or web-based dig) to see what IP address is returned.

dig -t txt lab1.<delegated.domain.name>

If everything works, you should get two TXT records you have configured.

Conclusion / Submission

In your submission include:

  • Your name, ID, delegated domain name, and public IP addresses of the created VM instance
  • Answer to the following questions:
    • After you do section 4 check, list records (exact or highlights) that would have been cached by the caching resolver. You may need to perform recursive query by hand, as we did in lecture 3.
    • Imagine the case that after the same check root zone and all top level domain name servers become unaccessible (but second and all other servers still work). Give 5 examples (diverse) of domain names that the caching resolver will still be able to get and give 2 examples of ones that will not.
    • If you run another query dig -t txt lab1-ne.<delegated.domain.name>, it should return no valid records. If you run the same record again, will the caching resolver try to contact your authoritative name server or it has cached something. If it has cached, what did it cache, for how long, and can you control this time (and if you can, how).
  • Description of any problems, road blocks, what you have learned, what was interesting, not interesting, etc.
  • Describe how DNSSEC is configured for the zone, including steps one need to perform.

Programming Homework Help

Programming Homework Help

Programming Homework Help. COSC 1436 Houston Community College Outcome Code Efficiency Lab Report

COMPLETE TUTORIAL, THEN ZIP & SUBMIT ENTIRE SOLUTION PROJECTProgramming Assignment Grading Rubric (1)

Programming Assignment Grading Rubric (1)

Criteria Ratings Pts

This criterion is linked to a Learning OutcomeProgram Specifications / CorrectnessThis is the most important criterion. A program must meet its specifications (whether from a textbook problem or as written in the assignment) and function correctly. This means that it behaves as desired, producing the correct output, for a variety of inputs. (In COSC 1436, we will be lenient with regards to producing correct output for all inputs, as we may not always have the tools needed to accomplish that, yet.) This criterion includes the need to meet specifications by writing a program in a particular way or using a particular language feature, if such a thing is mentioned in the problem.

If a specification is ambiguous or unclear, you have two choices: You can either make a reasonable assumption about what is required, based on what makes the most sense to you, or you can ask the instructor. If you make an assumption about an ambiguous specification, you should mention that somewhere in a comment so that the reader/grader knows what you were thinking. Points may be taken off for poor assumptions, however.

10 to >8.0 pts

EXCELLENT

No errors, program always works correctly and meets the specification(s).

8 to >6.0 pts

ADEQUATE

Minor details of the program specification are violated, program functions incorrectly for some inputs.

6 to >0.0 pts

POOR

Significant details of the specification are violated, program often exhibits incorrect behavior.

0 pts

NOT MET

Program only functions correctly in very limited cases or not at all.

10 pts

This criterion is linked to a Learning OutcomeReadabilityCode needs to be readable to both you and a knowledgeable third party. This involves:

**** Using indentation consistently (e.g., every function’s body is indented to the same level).

**** Adding whitespace (blank lines, spaces) where appropriate to help separate distinct parts of the code (e.g., space after commas in lists, blank lines between functions or between blocks of related lines within functions, etc.).

**** Giving variables meaningful names. Variables named A, B, and C or foo, bar, and baz give the reader no information whatsoever about their purpose or what information they may hold. Names like principal, maximum, and counter are much more useful. Loop variables are a common exception to this idea, and loop variables named i, j, etc. are okay.

**** The code should be well organized. Functions should be defined in one section of the program, code should be organized into functions so that blocks of code that need to be reused are contained within functions to enable that, and functions should have meaningful names. This is a concept that we will be learning about as we write more and more code in COSC 1436, and so few points, if any, will be taken off for organization issues that we have not yet addressed in class.

3 to >2.4 pts

EXCELLENT

No errors, code is clean, understandable, and well-organized.

2.4 to >1.8 pts

ADEQUATE

Minor issues with consistent indentation, use of whitespace, variable naming, or general organization.

1.8 to >0.0 pts

POOR

At least one major issue with indentation, whitespace, variable names, or organization.

0 pts

NOT MET

Major problems with at three or four of the readability subcategories.

3 pts

This criterion is linked to a Learning OutcomeDocumentationEvery file containing code should start with a header comment. At the very least, this header should contain the name of the file, a description of what the included code does, and the name of its author (you). Other details you might include are the date it was written, a more detailed description of the approach used in the code if it is complex or may be misunderstood, or references to resources that you used to help you write it.

All code should also be well-commented. This requires striking a balance between commenting everything, which adds a great deal of unneeded noise to the code, and commenting nothing, in which case the reader of the code (or you, when you come back to it later) has no assistance in understanding the more complex or less obvious sections of code. In general, aim to put a comment on any line of code that you might not understand yourself if you came back to it in a month without having thought about it in the interim. Like code organization, appropriate commenting is also something we will be learning about as we write code throughout the semester in COSC 1436, so while corrections may be made, points will only be taken off for things that have been emphasized in class already.

2 to >1.6 pts

EXCELLENT

No errors, code is well-commented.

1.6 to >1.2 pts

ADEQUATE

One or two places that could benefit from comments are missing them or the code is overly commented.

1.2 to >0.0 pts

POOR

File header missing, complicated lines or sections of code uncommented or lacking meaningful comments.

0 pts

NOT MET

No file header or comments present.

2 pts

This criterion is linked to a Learning OutcomeCode EfficiencyThere are often many ways to write a program that meets a particular specification, and several of them are often poor choices. They may be poor choices because they take many more lines of code (and thus your effort and time) than needed, or they may take much more of the computer’s time to execute than needed. For example, a certain section of code can be executed ten times by copying and pasting it ten times in a row or by putting it in a simple for loop. The latter is far superior and greatly preferred, not only because it makes it faster to both write the code and read it later, but because it makes it easier for you to change and maintain.

3 to >2.4 pts

EXCELLENT

No errors, code uses the best approach in every case.

2.4 to >1.8 pts

ADEQUATE

Some errors, code uses somewhat the best approach, or sometimes.

1.8 to >0.0 pts

POOR

File header missing, complicated lines or sections of code uncommented or lacking meaningful comments.

0 pts

NOT MET

No file header or comments present.

3 pts

This criterion is linked to a Learning OutcomeAssignment SpecificationsAssignments will usually contain specifications and/or requirements outside of the programming problems themselves. For example, the way you name your files to submit them to Canvas will be specified in the assignment. Other instructions may be included as well, so please read the assignments carefully.

7 to >5.6 pts

EXCELLENT

No errors, code uses the best approach in every case.

5.6 to >4.2 pts

ADEQUATE

Some errors, code uses somewhat the best approach, or sometimes.

4.2 to >0.0 pts

POOR

File header missing, complicated lines or sections of code uncommented or lacking meaningful comments.

0 pts

NOT MET

No file header or comments present.

7 pts

Programming Homework Help

Programming Homework Help

Programming Homework Help. COSC 1436 Houston College Passing an Argument to a Method Project

COMPLETE TUTORIAL, THEN ZIP & SUBMIT ENTIRE SOLUTION PROJECT

Programming Assignment Grading Rubric (1)

Programming Assignment Grading Rubric (1)

Criteria Ratings Pts

This criterion is linked to a Learning OutcomeProgram Specifications / CorrectnessThis is the most important criterion. A program must meet its specifications (whether from a textbook problem or as written in the assignment) and function correctly. This means that it behaves as desired, producing the correct output, for a variety of inputs. (In COSC 1436, we will be lenient with regards to producing correct output for all inputs, as we may not always have the tools needed to accomplish that, yet.) This criterion includes the need to meet specifications by writing a program in a particular way or using a particular language feature, if such a thing is mentioned in the problem.

If a specification is ambiguous or unclear, you have two choices: You can either make a reasonable assumption about what is required, based on what makes the most sense to you, or you can ask the instructor. If you make an assumption about an ambiguous specification, you should mention that somewhere in a comment so that the reader/grader knows what you were thinking. Points may be taken off for poor assumptions, however.

10 to >8.0 pts

EXCELLENT

No errors, program always works correctly and meets the specification(s).

8 to >6.0 pts

ADEQUATE

Minor details of the program specification are violated, program functions incorrectly for some inputs.

6 to >0.0 pts

POOR

Significant details of the specification are violated, program often exhibits incorrect behavior.

0 pts

NOT MET

Program only functions correctly in very limited cases or not at all.

10 pts

This criterion is linked to a Learning OutcomeReadabilityCode needs to be readable to both you and a knowledgeable third party. This involves:

**** Using indentation consistently (e.g., every function’s body is indented to the same level).

**** Adding whitespace (blank lines, spaces) where appropriate to help separate distinct parts of the code (e.g., space after commas in lists, blank lines between functions or between blocks of related lines within functions, etc.).

**** Giving variables meaningful names. Variables named A, B, and C or foo, bar, and baz give the reader no information whatsoever about their purpose or what information they may hold. Names like principal, maximum, and counter are much more useful. Loop variables are a common exception to this idea, and loop variables named i, j, etc. are okay.

**** The code should be well organized. Functions should be defined in one section of the program, code should be organized into functions so that blocks of code that need to be reused are contained within functions to enable that, and functions should have meaningful names. This is a concept that we will be learning about as we write more and more code in COSC 1436, and so few points, if any, will be taken off for organization issues that we have not yet addressed in class.

3 to >2.4 pts

EXCELLENT

No errors, code is clean, understandable, and well-organized.

2.4 to >1.8 pts

ADEQUATE

Minor issues with consistent indentation, use of whitespace, variable naming, or general organization.

1.8 to >0.0 pts

POOR

At least one major issue with indentation, whitespace, variable names, or organization.

0 pts

NOT MET

Major problems with at three or four of the readability subcategories.

3 pts

This criterion is linked to a Learning OutcomeDocumentationEvery file containing code should start with a header comment. At the very least, this header should contain the name of the file, a description of what the included code does, and the name of its author (you). Other details you might include are the date it was written, a more detailed description of the approach used in the code if it is complex or may be misunderstood, or references to resources that you used to help you write it.

All code should also be well-commented. This requires striking a balance between commenting everything, which adds a great deal of unneeded noise to the code, and commenting nothing, in which case the reader of the code (or you, when you come back to it later) has no assistance in understanding the more complex or less obvious sections of code. In general, aim to put a comment on any line of code that you might not understand yourself if you came back to it in a month without having thought about it in the interim. Like code organization, appropriate commenting is also something we will be learning about as we write code throughout the semester in COSC 1436, so while corrections may be made, points will only be taken off for things that have been emphasized in class already.

2 to >1.6 pts

EXCELLENT

No errors, code is well-commented.

1.6 to >1.2 pts

ADEQUATE

One or two places that could benefit from comments are missing them or the code is overly commented.

1.2 to >0.0 pts

POOR

File header missing, complicated lines or sections of code uncommented or lacking meaningful comments.

0 pts

NOT MET

No file header or comments present.

2 pts

This criterion is linked to a Learning OutcomeCode EfficiencyThere are often many ways to write a program that meets a particular specification, and several of them are often poor choices. They may be poor choices because they take many more lines of code (and thus your effort and time) than needed, or they may take much more of the computer’s time to execute than needed. For example, a certain section of code can be executed ten times by copying and pasting it ten times in a row or by putting it in a simple for loop. The latter is far superior and greatly preferred, not only because it makes it faster to both write the code and read it later, but because it makes it easier for you to change and maintain.

3 to >2.4 pts

EXCELLENT

No errors, code uses the best approach in every case.

2.4 to >1.8 pts

ADEQUATE

Some errors, code uses somewhat the best approach, or sometimes.

1.8 to >0.0 pts

POOR

File header missing, complicated lines or sections of code uncommented or lacking meaningful comments.

0 pts

NOT MET

No file header or comments present.

3 pts

This criterion is linked to a Learning OutcomeAssignment SpecificationsAssignments will usually contain specifications and/or requirements outside of the programming problems themselves. For example, the way you name your files to submit them to Canvas will be specified in the assignment. Other instructions may be included as well, so please read the assignments carefully.

7 to >5.6 pts

EXCELLENT

No errors, code uses the best approach in every case.

5.6 to >4.2 pts

ADEQUATE

Some errors, code uses somewhat the best approach, or sometimes.

4.2 to >0.0 pts

POOR

File header missing, complicated lines or sections of code uncommented or lacking meaningful comments.

0 pts

NOT MET

No file header or comments present.

7 pts

Programming Homework Help

Programming Homework Help

Programming Homework Help. Python Code Variables Questions

Answer the following questions

1. Create the following variables for (showing the syntax):

– a customer’s name

– a customer’s age in years

2. What data type did you use for each variable in #2?

3. What is the output from 9 ** 2 * 4 +1?

4. Is the output from #3 the same as 9 ** 2 * (4 + 1)? Why or why not?

5. Why is whitespace significant in Python?

Programming Homework Help

Programming Homework Help

Programming Homework Help. Texas A&M University CS Data Structures Project

I need help if my code is right and how to runGame() that calls the function
getLetter() and takes the user guess to run the game.

/**

Filename: GuessMyLetter.cpp

Author:

Date last modified: 9/9/2021

This program simulates the computer guessing game.

*/

#include <iostream>

#include “time.h”

using namespace std;

void getLetter(char aplh[],int n)

{

char alph[27] = { ‘0’, ‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’, ‘Q’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’, ‘Y’, ‘Z’};

int V = 21;

}

int getPosition() {

int position = 1 + (rand() % 26);

return position;

cout << “I am thinking of a letter. What is your letter? “;

while(true);

{

int guess;

cin >> guess;

if (guess == position)

{

cout << “Congratulations you guessed my letter.” << endl;

} else if (guess < position)

{

cout << “Your guess is too low” << endl;

}

else (guess > position);

{

cout << “Your guess is too high” << endl;

}

}

}

void runGame() {

}

int main(void)

{

cout << RAND_MAX << endl;

srand((unsigned)time(NULL));

int RND;

cout << rand() << endl;

for (int i = 0; i < 11; i++)

{

RND = getPosition();

cout << RND << “t”;

}

/*end for*/

system(“pause”);

return 0;

}

Programming Homework Help