Anyone teach web development? How do you assess it?Should I teach modern web development in an introductory programming course? How?How to “teach” CSS for students?How should students be encouraged to reflect and improve after summative assessment?How do you assess students' understanding of abstraction?How to handle objections to the wording of test questions or answers?How to help students comprehend the HTML document flow?How can I speed up the construction of high quality testing materials?How to collect and grade Xcode workJavaScript to teach Theoretical Computer ScienceHow can I do the best assignments as being a computer science student?

Why doesn't Adrian Toomes give up Spider-Man's identity?

Overlapping String-Blocks

Why didn't Voldemort recognize that Dumbledore was affected by his curse?

English word for "product of tinkering"

Thread Pool C++ Implementation

Winning Strategy for the Magician and his Apprentice

A IP can traceroute to it, but can not ping

Arriving at the same result with the opposite hypotheses

Were Alexander the Great and Hephaestion lovers?

Soft question: Examples where lack of mathematical rigour cause security breaches?

Is using haveibeenpwned to validate password strength rational?

What ways have you found to get edits from non-LaTeX users?

Wooden cooking layout

Certain search in list

How to produce milk that's similar to blood?

Is this use of the expression "long past" correct?

With Ubuntu 18.04, how can I have a hot corner that locks the computer?

Is it expected that a reader will skip parts of what you write?

How to hide an urban landmark?

Did Milano or Benatar approve or comment on their namesake MCU ships?

How can I end combat quickly when the outcome is inevitable?

Is the term 'open source' a trademark?

How do governments keep track of their issued currency?

Can Rydberg constant be in joules?



Anyone teach web development? How do you assess it?


Should I teach modern web development in an introductory programming course? How?How to “teach” CSS for students?How should students be encouraged to reflect and improve after summative assessment?How do you assess students' understanding of abstraction?How to handle objections to the wording of test questions or answers?How to help students comprehend the HTML document flow?How can I speed up the construction of high quality testing materials?How to collect and grade Xcode workJavaScript to teach Theoretical Computer ScienceHow can I do the best assignments as being a computer science student?













8












$begingroup$


I've been teaching Java and C# for years and I'll be picking up a web development (HTML, CSS, JS) course in the fall semester because our department is down a faculty member and won't be filling the position.



I can run unit tests on Java and C# to make sure the code students are submitting is correct without an issue, but I don't know how to efficiently assess websites. My school uses Cengage for curriculum delivery and their MindTap product does assessments, but I don't want to rely on that for the primary driver in class for a number of reasons.



How can I efficiently and effectively assess student work other than reading through all their code and observing every web page? There has to be some tool out there that I can work with to do an initial sweep for me... right?










share|improve this question







New contributor



mpcsf is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$











  • $begingroup$
    Say something about scale. How many students? How many projects? Team based projects or no?
    $endgroup$
    – Buffy
    May 30 at 19:07










  • $begingroup$
    Not a whole lot, 60 students max. Although I'm inclined to teach writing code through project-based curriculum, the specific amount will be based on what options I have available to me. I feel the same way about team-based projects as well, I'd like to include a lot of them, but they can be very messy to assess if the right structure isn't available on my end.
    $endgroup$
    – mpcsf
    May 30 at 19:14










  • $begingroup$
    selenium is a tool for testing web-site functionality en.wikipedia.org/wiki/Selenium_(software)
    $endgroup$
    – ctrl-alt-delor
    May 31 at 8:13















8












$begingroup$


I've been teaching Java and C# for years and I'll be picking up a web development (HTML, CSS, JS) course in the fall semester because our department is down a faculty member and won't be filling the position.



I can run unit tests on Java and C# to make sure the code students are submitting is correct without an issue, but I don't know how to efficiently assess websites. My school uses Cengage for curriculum delivery and their MindTap product does assessments, but I don't want to rely on that for the primary driver in class for a number of reasons.



How can I efficiently and effectively assess student work other than reading through all their code and observing every web page? There has to be some tool out there that I can work with to do an initial sweep for me... right?










share|improve this question







New contributor



mpcsf is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$











  • $begingroup$
    Say something about scale. How many students? How many projects? Team based projects or no?
    $endgroup$
    – Buffy
    May 30 at 19:07










  • $begingroup$
    Not a whole lot, 60 students max. Although I'm inclined to teach writing code through project-based curriculum, the specific amount will be based on what options I have available to me. I feel the same way about team-based projects as well, I'd like to include a lot of them, but they can be very messy to assess if the right structure isn't available on my end.
    $endgroup$
    – mpcsf
    May 30 at 19:14










  • $begingroup$
    selenium is a tool for testing web-site functionality en.wikipedia.org/wiki/Selenium_(software)
    $endgroup$
    – ctrl-alt-delor
    May 31 at 8:13













8












8








8


3



$begingroup$


I've been teaching Java and C# for years and I'll be picking up a web development (HTML, CSS, JS) course in the fall semester because our department is down a faculty member and won't be filling the position.



I can run unit tests on Java and C# to make sure the code students are submitting is correct without an issue, but I don't know how to efficiently assess websites. My school uses Cengage for curriculum delivery and their MindTap product does assessments, but I don't want to rely on that for the primary driver in class for a number of reasons.



How can I efficiently and effectively assess student work other than reading through all their code and observing every web page? There has to be some tool out there that I can work with to do an initial sweep for me... right?










share|improve this question







New contributor



mpcsf is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$




I've been teaching Java and C# for years and I'll be picking up a web development (HTML, CSS, JS) course in the fall semester because our department is down a faculty member and won't be filling the position.



I can run unit tests on Java and C# to make sure the code students are submitting is correct without an issue, but I don't know how to efficiently assess websites. My school uses Cengage for curriculum delivery and their MindTap product does assessments, but I don't want to rely on that for the primary driver in class for a number of reasons.



How can I efficiently and effectively assess student work other than reading through all their code and observing every web page? There has to be some tool out there that I can work with to do an initial sweep for me... right?







assessment javascript html css






share|improve this question







New contributor



mpcsf is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.










share|improve this question







New contributor



mpcsf is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








share|improve this question




share|improve this question






New contributor



mpcsf is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








asked May 30 at 18:29









mpcsfmpcsf

433




433




New contributor



mpcsf is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




New contributor




mpcsf is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.













  • $begingroup$
    Say something about scale. How many students? How many projects? Team based projects or no?
    $endgroup$
    – Buffy
    May 30 at 19:07










  • $begingroup$
    Not a whole lot, 60 students max. Although I'm inclined to teach writing code through project-based curriculum, the specific amount will be based on what options I have available to me. I feel the same way about team-based projects as well, I'd like to include a lot of them, but they can be very messy to assess if the right structure isn't available on my end.
    $endgroup$
    – mpcsf
    May 30 at 19:14










  • $begingroup$
    selenium is a tool for testing web-site functionality en.wikipedia.org/wiki/Selenium_(software)
    $endgroup$
    – ctrl-alt-delor
    May 31 at 8:13
















  • $begingroup$
    Say something about scale. How many students? How many projects? Team based projects or no?
    $endgroup$
    – Buffy
    May 30 at 19:07










  • $begingroup$
    Not a whole lot, 60 students max. Although I'm inclined to teach writing code through project-based curriculum, the specific amount will be based on what options I have available to me. I feel the same way about team-based projects as well, I'd like to include a lot of them, but they can be very messy to assess if the right structure isn't available on my end.
    $endgroup$
    – mpcsf
    May 30 at 19:14










  • $begingroup$
    selenium is a tool for testing web-site functionality en.wikipedia.org/wiki/Selenium_(software)
    $endgroup$
    – ctrl-alt-delor
    May 31 at 8:13















$begingroup$
Say something about scale. How many students? How many projects? Team based projects or no?
$endgroup$
– Buffy
May 30 at 19:07




$begingroup$
Say something about scale. How many students? How many projects? Team based projects or no?
$endgroup$
– Buffy
May 30 at 19:07












$begingroup$
Not a whole lot, 60 students max. Although I'm inclined to teach writing code through project-based curriculum, the specific amount will be based on what options I have available to me. I feel the same way about team-based projects as well, I'd like to include a lot of them, but they can be very messy to assess if the right structure isn't available on my end.
$endgroup$
– mpcsf
May 30 at 19:14




$begingroup$
Not a whole lot, 60 students max. Although I'm inclined to teach writing code through project-based curriculum, the specific amount will be based on what options I have available to me. I feel the same way about team-based projects as well, I'd like to include a lot of them, but they can be very messy to assess if the right structure isn't available on my end.
$endgroup$
– mpcsf
May 30 at 19:14












$begingroup$
selenium is a tool for testing web-site functionality en.wikipedia.org/wiki/Selenium_(software)
$endgroup$
– ctrl-alt-delor
May 31 at 8:13




$begingroup$
selenium is a tool for testing web-site functionality en.wikipedia.org/wiki/Selenium_(software)
$endgroup$
– ctrl-alt-delor
May 31 at 8:13










3 Answers
3






active

oldest

votes


















5












$begingroup$

Much less detail than the excellent post by Buffy, but directly to the question. Replace unit tests with validations and linters.



Have the students create all content in distinct files: HTML, CSS, and JS. Any styles or JavaScript in the .html file is invalid for the project(s). There are many validators and linters for all three, as well as for any other "code" you choose to use/allow, such as PHP, Ruby, etc.



Since a unit test only gives go/no-go results, a validator is at least as effective. A visual check of the resulting page/site shouldn't take but a few moments as well. If it validates and looks correct, it must be "right."



If you also wish to instill, or enforce, coding standards, comments, indentation, etc., a linter may help.



Running a series of validators and linters, checking the operations of the page/site, and visually scanning the code should take much less time than grading a paper-based exam, so you are still time ahead. If the students are provided access to similar tools, if not the exact ones, or exact settings you use, they can develop the habit of applying the "test" to their own code as part of their development work-flow.




As an extra note, if you need to compare versions/iterations of their code, you can use a system such as git, which need not be based on GitHub, or even use remote repos at all. Each student can be required to create a GPG key for their project work, and sign their commits. With that system, you can use the built-in diff function to see the changes and be certain who committed what.






share|improve this answer









$endgroup$












  • $begingroup$
    Thanks for the feedback, it was exactly what I'm looking for. Do you have a recommendation for a linter? As an aside, I currently use GitHub Classroom for all of my programming courses and utilize diff frequently.
    $endgroup$
    – mpcsf
    May 30 at 23:28










  • $begingroup$
    Since I never got the automated linter habit, I have no recommendations. A good place to start looking might be on GitHub. As an alternative, you could consider asking a new question about how to evaluate/look for in a linter for classroom/grading use. Do mind the idea that shopping list questions aren't received well on most SE sites. There is, however, a sister site Software Recommendations that handles them, within limits.
    $endgroup$
    – Gypsy Spellweaver
    May 31 at 2:20










  • $begingroup$
    I'm won't say you must unit test but I'd hate anyone to get the impression that validators and linters give you the same thing unit testing does. A unit test gives you an automated test that proves your code performs as you expected. It documents the abstraction you need. It makes promises about what it will do that using code can depend on. You can't buy that off the shelf. You have to write it yourself. Yes you can inspect what the page looks like but thats manual testing. There are many JavaScript unit testing tools.
    $endgroup$
    – candied_orange
    Jun 1 at 14:43










  • $begingroup$
    @candied_orange You cannot "unit test" HTML, it's not executable code. If it renders as intended on the web page, it's "correct". Validating the DOM in the HTML is the only way to "automate" the testing of the HTML markup.
    $endgroup$
    – Gypsy Spellweaver
    Jun 1 at 18:04










  • $begingroup$
    @GypsySpellweaver you're forgetting the JS that the op mentioned.
    $endgroup$
    – candied_orange
    Jun 1 at 19:27


















5












$begingroup$

For me, 60 is a very large class. Let me focus on a course design, extrapolated from other areas, in my case, the compiler course. The intent here is to make assessment feasible, rather than to say how to do it explicitly.



I would have two projects for the course. The first is individual and lasts two weeks. It would be to extend a framework that I provide and when completed would contain in the simplest way, the elements required for the larger project. It would count for a small portion of grading. But, I'd have to actually grade it. To make this feasible, I'd have them high light all changes from my base code.



The second project is done in teams. I'd choose the teams so that the total number is reasonable. Maybe five people per team, giving you about a dozen projects being done at once. I would also specify this project and possibly supply some base code giving a framework. Each team works separately on the project in parallel. It isn't a division of a larger project, but a "competition" of teams working on the same thing. With everyone working on the same project structure, I only have one thing to think about when grading.



I'd give them clear instructions about now NOT to manage their projects. No "dividing up the work" for example. Everyone is responsible for every part. I would try to convince them that dividing the work is actually more work for everyone since they need to integrate at some point. For beginners this is almost always a bad thing to do.



I would teach them how to run an agile team using something like XP. Iterations can be weekly or every other week. In particular, no one is permitted to commit code that only they worked on, avoiding the "prima donna" problem. I've had the teams name themselves, or I've named them, to build esprit d'corps: Fire, Ice, Wind, ....



I would also want to look at their code, but I now have a more reasonable work load. I would, again, have them highlight any changes they make from previous versions and include all past work (along with my comments) whenever they turn in the next iteration. It is now easy for me to see their progress. Each team turns in a folder each iteration.



I would (probably) require public demos of the projects at the end of the course, with each team having a few minutes to show their results. I normally require that everyone participate in the demo, but with five members per team it might be impossible.



I would use peer assessment within each team to get an idea about how people behave when not under my view. Peer assessment is always positive. "What is the main contribution of each team member? What is your own chief contribution?". Actually I usually, for a team of five, would have everyone give positive assessments of each of the top three contributors. If no one labels "jimmy" as a top contributor, I learn something. If everyone mentions "jimmy" I learn something else. But a positive assessment is more likely to be accurate and avoids the problem of people not wanting to say negative things about their friends.



Everyone gets the same grade on the big project unless there are serious reasons to do otherwise.



I have sometimes created (randomly) a "leader" of each team. The leader is not a manager, but is simply my main contact with each team so that I can get and give feedback when necessary. Try to do interventions early, if needed.



I usually use an asynchronous communication mechanism (a mailing list) so that anyone can ask a question at any time. I encourage others to answer questions as well as ask them, so I don't need to answer every question.



The goal is to reduce the load to a manageable level and still give individual feedback periodically. I haven't tried to automate grading in any way, but just made the scope of my problem more feasible.



Most of the course grade would be on the second project not the final exam (if any).



I could either use face time for lectures, or I could flip the classroom, letting the teams work together in lab and providing "content" through videos or readings done after hours. With a flipped design, I get to monitor each team in real time.






share|improve this answer











$endgroup$












  • $begingroup$
    Thank you for taking the time to go over an approach to tackle my problem. I'll definitely take it into consideration when approaching the class. However, I'm looking for tools or techniques for grading automation. I would really like to be able to learn from approaches that other instructors use to make a first pass at assessment of HTML, CSS, and JavaScript code for Web Development projects.
    $endgroup$
    – mpcsf
    May 30 at 23:18



















1












$begingroup$

Assessing web dev courses at scale can be tricky because you have to consider the following:



  • ensure that the resulting web app looks as expected

  • all functionalities should work as expected with the correct logic

  • the code quality to make everything work should meet the industry standard

With 60 students (or any number over 20 really), this can get really tricky.




My recommendation would be to find tools that help you do the following:



  • Asses the looks: You should be able to preview the submission without downloading and running anything locally (CodeSandbox)

  • Correct logic: Either run E2E tests and/or unit tests (Puppeteer, Jest)

  • Code quality: linters (ESLint)


I would also recommend giving a try to AutoGradr that does all of the above in a single tool and is built specifically for educators such as yourself. (Disclaimer: I'm the author of this free tool)






share|improve this answer









$endgroup$












  • $begingroup$
    I'm trying AutoGradr right now. Currently waiting for the HTML/CSS stack to be unlocked, but it looks good so far
    $endgroup$
    – mpcsf
    yesterday











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "678"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);






mpcsf is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcseducators.stackexchange.com%2fquestions%2f5728%2fanyone-teach-web-development-how-do-you-assess-it%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes









5












$begingroup$

Much less detail than the excellent post by Buffy, but directly to the question. Replace unit tests with validations and linters.



Have the students create all content in distinct files: HTML, CSS, and JS. Any styles or JavaScript in the .html file is invalid for the project(s). There are many validators and linters for all three, as well as for any other "code" you choose to use/allow, such as PHP, Ruby, etc.



Since a unit test only gives go/no-go results, a validator is at least as effective. A visual check of the resulting page/site shouldn't take but a few moments as well. If it validates and looks correct, it must be "right."



If you also wish to instill, or enforce, coding standards, comments, indentation, etc., a linter may help.



Running a series of validators and linters, checking the operations of the page/site, and visually scanning the code should take much less time than grading a paper-based exam, so you are still time ahead. If the students are provided access to similar tools, if not the exact ones, or exact settings you use, they can develop the habit of applying the "test" to their own code as part of their development work-flow.




As an extra note, if you need to compare versions/iterations of their code, you can use a system such as git, which need not be based on GitHub, or even use remote repos at all. Each student can be required to create a GPG key for their project work, and sign their commits. With that system, you can use the built-in diff function to see the changes and be certain who committed what.






share|improve this answer









$endgroup$












  • $begingroup$
    Thanks for the feedback, it was exactly what I'm looking for. Do you have a recommendation for a linter? As an aside, I currently use GitHub Classroom for all of my programming courses and utilize diff frequently.
    $endgroup$
    – mpcsf
    May 30 at 23:28










  • $begingroup$
    Since I never got the automated linter habit, I have no recommendations. A good place to start looking might be on GitHub. As an alternative, you could consider asking a new question about how to evaluate/look for in a linter for classroom/grading use. Do mind the idea that shopping list questions aren't received well on most SE sites. There is, however, a sister site Software Recommendations that handles them, within limits.
    $endgroup$
    – Gypsy Spellweaver
    May 31 at 2:20










  • $begingroup$
    I'm won't say you must unit test but I'd hate anyone to get the impression that validators and linters give you the same thing unit testing does. A unit test gives you an automated test that proves your code performs as you expected. It documents the abstraction you need. It makes promises about what it will do that using code can depend on. You can't buy that off the shelf. You have to write it yourself. Yes you can inspect what the page looks like but thats manual testing. There are many JavaScript unit testing tools.
    $endgroup$
    – candied_orange
    Jun 1 at 14:43










  • $begingroup$
    @candied_orange You cannot "unit test" HTML, it's not executable code. If it renders as intended on the web page, it's "correct". Validating the DOM in the HTML is the only way to "automate" the testing of the HTML markup.
    $endgroup$
    – Gypsy Spellweaver
    Jun 1 at 18:04










  • $begingroup$
    @GypsySpellweaver you're forgetting the JS that the op mentioned.
    $endgroup$
    – candied_orange
    Jun 1 at 19:27















5












$begingroup$

Much less detail than the excellent post by Buffy, but directly to the question. Replace unit tests with validations and linters.



Have the students create all content in distinct files: HTML, CSS, and JS. Any styles or JavaScript in the .html file is invalid for the project(s). There are many validators and linters for all three, as well as for any other "code" you choose to use/allow, such as PHP, Ruby, etc.



Since a unit test only gives go/no-go results, a validator is at least as effective. A visual check of the resulting page/site shouldn't take but a few moments as well. If it validates and looks correct, it must be "right."



If you also wish to instill, or enforce, coding standards, comments, indentation, etc., a linter may help.



Running a series of validators and linters, checking the operations of the page/site, and visually scanning the code should take much less time than grading a paper-based exam, so you are still time ahead. If the students are provided access to similar tools, if not the exact ones, or exact settings you use, they can develop the habit of applying the "test" to their own code as part of their development work-flow.




As an extra note, if you need to compare versions/iterations of their code, you can use a system such as git, which need not be based on GitHub, or even use remote repos at all. Each student can be required to create a GPG key for their project work, and sign their commits. With that system, you can use the built-in diff function to see the changes and be certain who committed what.






share|improve this answer









$endgroup$












  • $begingroup$
    Thanks for the feedback, it was exactly what I'm looking for. Do you have a recommendation for a linter? As an aside, I currently use GitHub Classroom for all of my programming courses and utilize diff frequently.
    $endgroup$
    – mpcsf
    May 30 at 23:28










  • $begingroup$
    Since I never got the automated linter habit, I have no recommendations. A good place to start looking might be on GitHub. As an alternative, you could consider asking a new question about how to evaluate/look for in a linter for classroom/grading use. Do mind the idea that shopping list questions aren't received well on most SE sites. There is, however, a sister site Software Recommendations that handles them, within limits.
    $endgroup$
    – Gypsy Spellweaver
    May 31 at 2:20










  • $begingroup$
    I'm won't say you must unit test but I'd hate anyone to get the impression that validators and linters give you the same thing unit testing does. A unit test gives you an automated test that proves your code performs as you expected. It documents the abstraction you need. It makes promises about what it will do that using code can depend on. You can't buy that off the shelf. You have to write it yourself. Yes you can inspect what the page looks like but thats manual testing. There are many JavaScript unit testing tools.
    $endgroup$
    – candied_orange
    Jun 1 at 14:43










  • $begingroup$
    @candied_orange You cannot "unit test" HTML, it's not executable code. If it renders as intended on the web page, it's "correct". Validating the DOM in the HTML is the only way to "automate" the testing of the HTML markup.
    $endgroup$
    – Gypsy Spellweaver
    Jun 1 at 18:04










  • $begingroup$
    @GypsySpellweaver you're forgetting the JS that the op mentioned.
    $endgroup$
    – candied_orange
    Jun 1 at 19:27













5












5








5





$begingroup$

Much less detail than the excellent post by Buffy, but directly to the question. Replace unit tests with validations and linters.



Have the students create all content in distinct files: HTML, CSS, and JS. Any styles or JavaScript in the .html file is invalid for the project(s). There are many validators and linters for all three, as well as for any other "code" you choose to use/allow, such as PHP, Ruby, etc.



Since a unit test only gives go/no-go results, a validator is at least as effective. A visual check of the resulting page/site shouldn't take but a few moments as well. If it validates and looks correct, it must be "right."



If you also wish to instill, or enforce, coding standards, comments, indentation, etc., a linter may help.



Running a series of validators and linters, checking the operations of the page/site, and visually scanning the code should take much less time than grading a paper-based exam, so you are still time ahead. If the students are provided access to similar tools, if not the exact ones, or exact settings you use, they can develop the habit of applying the "test" to their own code as part of their development work-flow.




As an extra note, if you need to compare versions/iterations of their code, you can use a system such as git, which need not be based on GitHub, or even use remote repos at all. Each student can be required to create a GPG key for their project work, and sign their commits. With that system, you can use the built-in diff function to see the changes and be certain who committed what.






share|improve this answer









$endgroup$



Much less detail than the excellent post by Buffy, but directly to the question. Replace unit tests with validations and linters.



Have the students create all content in distinct files: HTML, CSS, and JS. Any styles or JavaScript in the .html file is invalid for the project(s). There are many validators and linters for all three, as well as for any other "code" you choose to use/allow, such as PHP, Ruby, etc.



Since a unit test only gives go/no-go results, a validator is at least as effective. A visual check of the resulting page/site shouldn't take but a few moments as well. If it validates and looks correct, it must be "right."



If you also wish to instill, or enforce, coding standards, comments, indentation, etc., a linter may help.



Running a series of validators and linters, checking the operations of the page/site, and visually scanning the code should take much less time than grading a paper-based exam, so you are still time ahead. If the students are provided access to similar tools, if not the exact ones, or exact settings you use, they can develop the habit of applying the "test" to their own code as part of their development work-flow.




As an extra note, if you need to compare versions/iterations of their code, you can use a system such as git, which need not be based on GitHub, or even use remote repos at all. Each student can be required to create a GPG key for their project work, and sign their commits. With that system, you can use the built-in diff function to see the changes and be certain who committed what.







share|improve this answer












share|improve this answer



share|improve this answer










answered May 30 at 23:19









Gypsy SpellweaverGypsy Spellweaver

4,47021233




4,47021233











  • $begingroup$
    Thanks for the feedback, it was exactly what I'm looking for. Do you have a recommendation for a linter? As an aside, I currently use GitHub Classroom for all of my programming courses and utilize diff frequently.
    $endgroup$
    – mpcsf
    May 30 at 23:28










  • $begingroup$
    Since I never got the automated linter habit, I have no recommendations. A good place to start looking might be on GitHub. As an alternative, you could consider asking a new question about how to evaluate/look for in a linter for classroom/grading use. Do mind the idea that shopping list questions aren't received well on most SE sites. There is, however, a sister site Software Recommendations that handles them, within limits.
    $endgroup$
    – Gypsy Spellweaver
    May 31 at 2:20










  • $begingroup$
    I'm won't say you must unit test but I'd hate anyone to get the impression that validators and linters give you the same thing unit testing does. A unit test gives you an automated test that proves your code performs as you expected. It documents the abstraction you need. It makes promises about what it will do that using code can depend on. You can't buy that off the shelf. You have to write it yourself. Yes you can inspect what the page looks like but thats manual testing. There are many JavaScript unit testing tools.
    $endgroup$
    – candied_orange
    Jun 1 at 14:43










  • $begingroup$
    @candied_orange You cannot "unit test" HTML, it's not executable code. If it renders as intended on the web page, it's "correct". Validating the DOM in the HTML is the only way to "automate" the testing of the HTML markup.
    $endgroup$
    – Gypsy Spellweaver
    Jun 1 at 18:04










  • $begingroup$
    @GypsySpellweaver you're forgetting the JS that the op mentioned.
    $endgroup$
    – candied_orange
    Jun 1 at 19:27
















  • $begingroup$
    Thanks for the feedback, it was exactly what I'm looking for. Do you have a recommendation for a linter? As an aside, I currently use GitHub Classroom for all of my programming courses and utilize diff frequently.
    $endgroup$
    – mpcsf
    May 30 at 23:28










  • $begingroup$
    Since I never got the automated linter habit, I have no recommendations. A good place to start looking might be on GitHub. As an alternative, you could consider asking a new question about how to evaluate/look for in a linter for classroom/grading use. Do mind the idea that shopping list questions aren't received well on most SE sites. There is, however, a sister site Software Recommendations that handles them, within limits.
    $endgroup$
    – Gypsy Spellweaver
    May 31 at 2:20










  • $begingroup$
    I'm won't say you must unit test but I'd hate anyone to get the impression that validators and linters give you the same thing unit testing does. A unit test gives you an automated test that proves your code performs as you expected. It documents the abstraction you need. It makes promises about what it will do that using code can depend on. You can't buy that off the shelf. You have to write it yourself. Yes you can inspect what the page looks like but thats manual testing. There are many JavaScript unit testing tools.
    $endgroup$
    – candied_orange
    Jun 1 at 14:43










  • $begingroup$
    @candied_orange You cannot "unit test" HTML, it's not executable code. If it renders as intended on the web page, it's "correct". Validating the DOM in the HTML is the only way to "automate" the testing of the HTML markup.
    $endgroup$
    – Gypsy Spellweaver
    Jun 1 at 18:04










  • $begingroup$
    @GypsySpellweaver you're forgetting the JS that the op mentioned.
    $endgroup$
    – candied_orange
    Jun 1 at 19:27















$begingroup$
Thanks for the feedback, it was exactly what I'm looking for. Do you have a recommendation for a linter? As an aside, I currently use GitHub Classroom for all of my programming courses and utilize diff frequently.
$endgroup$
– mpcsf
May 30 at 23:28




$begingroup$
Thanks for the feedback, it was exactly what I'm looking for. Do you have a recommendation for a linter? As an aside, I currently use GitHub Classroom for all of my programming courses and utilize diff frequently.
$endgroup$
– mpcsf
May 30 at 23:28












$begingroup$
Since I never got the automated linter habit, I have no recommendations. A good place to start looking might be on GitHub. As an alternative, you could consider asking a new question about how to evaluate/look for in a linter for classroom/grading use. Do mind the idea that shopping list questions aren't received well on most SE sites. There is, however, a sister site Software Recommendations that handles them, within limits.
$endgroup$
– Gypsy Spellweaver
May 31 at 2:20




$begingroup$
Since I never got the automated linter habit, I have no recommendations. A good place to start looking might be on GitHub. As an alternative, you could consider asking a new question about how to evaluate/look for in a linter for classroom/grading use. Do mind the idea that shopping list questions aren't received well on most SE sites. There is, however, a sister site Software Recommendations that handles them, within limits.
$endgroup$
– Gypsy Spellweaver
May 31 at 2:20












$begingroup$
I'm won't say you must unit test but I'd hate anyone to get the impression that validators and linters give you the same thing unit testing does. A unit test gives you an automated test that proves your code performs as you expected. It documents the abstraction you need. It makes promises about what it will do that using code can depend on. You can't buy that off the shelf. You have to write it yourself. Yes you can inspect what the page looks like but thats manual testing. There are many JavaScript unit testing tools.
$endgroup$
– candied_orange
Jun 1 at 14:43




$begingroup$
I'm won't say you must unit test but I'd hate anyone to get the impression that validators and linters give you the same thing unit testing does. A unit test gives you an automated test that proves your code performs as you expected. It documents the abstraction you need. It makes promises about what it will do that using code can depend on. You can't buy that off the shelf. You have to write it yourself. Yes you can inspect what the page looks like but thats manual testing. There are many JavaScript unit testing tools.
$endgroup$
– candied_orange
Jun 1 at 14:43












$begingroup$
@candied_orange You cannot "unit test" HTML, it's not executable code. If it renders as intended on the web page, it's "correct". Validating the DOM in the HTML is the only way to "automate" the testing of the HTML markup.
$endgroup$
– Gypsy Spellweaver
Jun 1 at 18:04




$begingroup$
@candied_orange You cannot "unit test" HTML, it's not executable code. If it renders as intended on the web page, it's "correct". Validating the DOM in the HTML is the only way to "automate" the testing of the HTML markup.
$endgroup$
– Gypsy Spellweaver
Jun 1 at 18:04












$begingroup$
@GypsySpellweaver you're forgetting the JS that the op mentioned.
$endgroup$
– candied_orange
Jun 1 at 19:27




$begingroup$
@GypsySpellweaver you're forgetting the JS that the op mentioned.
$endgroup$
– candied_orange
Jun 1 at 19:27











5












$begingroup$

For me, 60 is a very large class. Let me focus on a course design, extrapolated from other areas, in my case, the compiler course. The intent here is to make assessment feasible, rather than to say how to do it explicitly.



I would have two projects for the course. The first is individual and lasts two weeks. It would be to extend a framework that I provide and when completed would contain in the simplest way, the elements required for the larger project. It would count for a small portion of grading. But, I'd have to actually grade it. To make this feasible, I'd have them high light all changes from my base code.



The second project is done in teams. I'd choose the teams so that the total number is reasonable. Maybe five people per team, giving you about a dozen projects being done at once. I would also specify this project and possibly supply some base code giving a framework. Each team works separately on the project in parallel. It isn't a division of a larger project, but a "competition" of teams working on the same thing. With everyone working on the same project structure, I only have one thing to think about when grading.



I'd give them clear instructions about now NOT to manage their projects. No "dividing up the work" for example. Everyone is responsible for every part. I would try to convince them that dividing the work is actually more work for everyone since they need to integrate at some point. For beginners this is almost always a bad thing to do.



I would teach them how to run an agile team using something like XP. Iterations can be weekly or every other week. In particular, no one is permitted to commit code that only they worked on, avoiding the "prima donna" problem. I've had the teams name themselves, or I've named them, to build esprit d'corps: Fire, Ice, Wind, ....



I would also want to look at their code, but I now have a more reasonable work load. I would, again, have them highlight any changes they make from previous versions and include all past work (along with my comments) whenever they turn in the next iteration. It is now easy for me to see their progress. Each team turns in a folder each iteration.



I would (probably) require public demos of the projects at the end of the course, with each team having a few minutes to show their results. I normally require that everyone participate in the demo, but with five members per team it might be impossible.



I would use peer assessment within each team to get an idea about how people behave when not under my view. Peer assessment is always positive. "What is the main contribution of each team member? What is your own chief contribution?". Actually I usually, for a team of five, would have everyone give positive assessments of each of the top three contributors. If no one labels "jimmy" as a top contributor, I learn something. If everyone mentions "jimmy" I learn something else. But a positive assessment is more likely to be accurate and avoids the problem of people not wanting to say negative things about their friends.



Everyone gets the same grade on the big project unless there are serious reasons to do otherwise.



I have sometimes created (randomly) a "leader" of each team. The leader is not a manager, but is simply my main contact with each team so that I can get and give feedback when necessary. Try to do interventions early, if needed.



I usually use an asynchronous communication mechanism (a mailing list) so that anyone can ask a question at any time. I encourage others to answer questions as well as ask them, so I don't need to answer every question.



The goal is to reduce the load to a manageable level and still give individual feedback periodically. I haven't tried to automate grading in any way, but just made the scope of my problem more feasible.



Most of the course grade would be on the second project not the final exam (if any).



I could either use face time for lectures, or I could flip the classroom, letting the teams work together in lab and providing "content" through videos or readings done after hours. With a flipped design, I get to monitor each team in real time.






share|improve this answer











$endgroup$












  • $begingroup$
    Thank you for taking the time to go over an approach to tackle my problem. I'll definitely take it into consideration when approaching the class. However, I'm looking for tools or techniques for grading automation. I would really like to be able to learn from approaches that other instructors use to make a first pass at assessment of HTML, CSS, and JavaScript code for Web Development projects.
    $endgroup$
    – mpcsf
    May 30 at 23:18
















5












$begingroup$

For me, 60 is a very large class. Let me focus on a course design, extrapolated from other areas, in my case, the compiler course. The intent here is to make assessment feasible, rather than to say how to do it explicitly.



I would have two projects for the course. The first is individual and lasts two weeks. It would be to extend a framework that I provide and when completed would contain in the simplest way, the elements required for the larger project. It would count for a small portion of grading. But, I'd have to actually grade it. To make this feasible, I'd have them high light all changes from my base code.



The second project is done in teams. I'd choose the teams so that the total number is reasonable. Maybe five people per team, giving you about a dozen projects being done at once. I would also specify this project and possibly supply some base code giving a framework. Each team works separately on the project in parallel. It isn't a division of a larger project, but a "competition" of teams working on the same thing. With everyone working on the same project structure, I only have one thing to think about when grading.



I'd give them clear instructions about now NOT to manage their projects. No "dividing up the work" for example. Everyone is responsible for every part. I would try to convince them that dividing the work is actually more work for everyone since they need to integrate at some point. For beginners this is almost always a bad thing to do.



I would teach them how to run an agile team using something like XP. Iterations can be weekly or every other week. In particular, no one is permitted to commit code that only they worked on, avoiding the "prima donna" problem. I've had the teams name themselves, or I've named them, to build esprit d'corps: Fire, Ice, Wind, ....



I would also want to look at their code, but I now have a more reasonable work load. I would, again, have them highlight any changes they make from previous versions and include all past work (along with my comments) whenever they turn in the next iteration. It is now easy for me to see their progress. Each team turns in a folder each iteration.



I would (probably) require public demos of the projects at the end of the course, with each team having a few minutes to show their results. I normally require that everyone participate in the demo, but with five members per team it might be impossible.



I would use peer assessment within each team to get an idea about how people behave when not under my view. Peer assessment is always positive. "What is the main contribution of each team member? What is your own chief contribution?". Actually I usually, for a team of five, would have everyone give positive assessments of each of the top three contributors. If no one labels "jimmy" as a top contributor, I learn something. If everyone mentions "jimmy" I learn something else. But a positive assessment is more likely to be accurate and avoids the problem of people not wanting to say negative things about their friends.



Everyone gets the same grade on the big project unless there are serious reasons to do otherwise.



I have sometimes created (randomly) a "leader" of each team. The leader is not a manager, but is simply my main contact with each team so that I can get and give feedback when necessary. Try to do interventions early, if needed.



I usually use an asynchronous communication mechanism (a mailing list) so that anyone can ask a question at any time. I encourage others to answer questions as well as ask them, so I don't need to answer every question.



The goal is to reduce the load to a manageable level and still give individual feedback periodically. I haven't tried to automate grading in any way, but just made the scope of my problem more feasible.



Most of the course grade would be on the second project not the final exam (if any).



I could either use face time for lectures, or I could flip the classroom, letting the teams work together in lab and providing "content" through videos or readings done after hours. With a flipped design, I get to monitor each team in real time.






share|improve this answer











$endgroup$












  • $begingroup$
    Thank you for taking the time to go over an approach to tackle my problem. I'll definitely take it into consideration when approaching the class. However, I'm looking for tools or techniques for grading automation. I would really like to be able to learn from approaches that other instructors use to make a first pass at assessment of HTML, CSS, and JavaScript code for Web Development projects.
    $endgroup$
    – mpcsf
    May 30 at 23:18














5












5








5





$begingroup$

For me, 60 is a very large class. Let me focus on a course design, extrapolated from other areas, in my case, the compiler course. The intent here is to make assessment feasible, rather than to say how to do it explicitly.



I would have two projects for the course. The first is individual and lasts two weeks. It would be to extend a framework that I provide and when completed would contain in the simplest way, the elements required for the larger project. It would count for a small portion of grading. But, I'd have to actually grade it. To make this feasible, I'd have them high light all changes from my base code.



The second project is done in teams. I'd choose the teams so that the total number is reasonable. Maybe five people per team, giving you about a dozen projects being done at once. I would also specify this project and possibly supply some base code giving a framework. Each team works separately on the project in parallel. It isn't a division of a larger project, but a "competition" of teams working on the same thing. With everyone working on the same project structure, I only have one thing to think about when grading.



I'd give them clear instructions about now NOT to manage their projects. No "dividing up the work" for example. Everyone is responsible for every part. I would try to convince them that dividing the work is actually more work for everyone since they need to integrate at some point. For beginners this is almost always a bad thing to do.



I would teach them how to run an agile team using something like XP. Iterations can be weekly or every other week. In particular, no one is permitted to commit code that only they worked on, avoiding the "prima donna" problem. I've had the teams name themselves, or I've named them, to build esprit d'corps: Fire, Ice, Wind, ....



I would also want to look at their code, but I now have a more reasonable work load. I would, again, have them highlight any changes they make from previous versions and include all past work (along with my comments) whenever they turn in the next iteration. It is now easy for me to see their progress. Each team turns in a folder each iteration.



I would (probably) require public demos of the projects at the end of the course, with each team having a few minutes to show their results. I normally require that everyone participate in the demo, but with five members per team it might be impossible.



I would use peer assessment within each team to get an idea about how people behave when not under my view. Peer assessment is always positive. "What is the main contribution of each team member? What is your own chief contribution?". Actually I usually, for a team of five, would have everyone give positive assessments of each of the top three contributors. If no one labels "jimmy" as a top contributor, I learn something. If everyone mentions "jimmy" I learn something else. But a positive assessment is more likely to be accurate and avoids the problem of people not wanting to say negative things about their friends.



Everyone gets the same grade on the big project unless there are serious reasons to do otherwise.



I have sometimes created (randomly) a "leader" of each team. The leader is not a manager, but is simply my main contact with each team so that I can get and give feedback when necessary. Try to do interventions early, if needed.



I usually use an asynchronous communication mechanism (a mailing list) so that anyone can ask a question at any time. I encourage others to answer questions as well as ask them, so I don't need to answer every question.



The goal is to reduce the load to a manageable level and still give individual feedback periodically. I haven't tried to automate grading in any way, but just made the scope of my problem more feasible.



Most of the course grade would be on the second project not the final exam (if any).



I could either use face time for lectures, or I could flip the classroom, letting the teams work together in lab and providing "content" through videos or readings done after hours. With a flipped design, I get to monitor each team in real time.






share|improve this answer











$endgroup$



For me, 60 is a very large class. Let me focus on a course design, extrapolated from other areas, in my case, the compiler course. The intent here is to make assessment feasible, rather than to say how to do it explicitly.



I would have two projects for the course. The first is individual and lasts two weeks. It would be to extend a framework that I provide and when completed would contain in the simplest way, the elements required for the larger project. It would count for a small portion of grading. But, I'd have to actually grade it. To make this feasible, I'd have them high light all changes from my base code.



The second project is done in teams. I'd choose the teams so that the total number is reasonable. Maybe five people per team, giving you about a dozen projects being done at once. I would also specify this project and possibly supply some base code giving a framework. Each team works separately on the project in parallel. It isn't a division of a larger project, but a "competition" of teams working on the same thing. With everyone working on the same project structure, I only have one thing to think about when grading.



I'd give them clear instructions about now NOT to manage their projects. No "dividing up the work" for example. Everyone is responsible for every part. I would try to convince them that dividing the work is actually more work for everyone since they need to integrate at some point. For beginners this is almost always a bad thing to do.



I would teach them how to run an agile team using something like XP. Iterations can be weekly or every other week. In particular, no one is permitted to commit code that only they worked on, avoiding the "prima donna" problem. I've had the teams name themselves, or I've named them, to build esprit d'corps: Fire, Ice, Wind, ....



I would also want to look at their code, but I now have a more reasonable work load. I would, again, have them highlight any changes they make from previous versions and include all past work (along with my comments) whenever they turn in the next iteration. It is now easy for me to see their progress. Each team turns in a folder each iteration.



I would (probably) require public demos of the projects at the end of the course, with each team having a few minutes to show their results. I normally require that everyone participate in the demo, but with five members per team it might be impossible.



I would use peer assessment within each team to get an idea about how people behave when not under my view. Peer assessment is always positive. "What is the main contribution of each team member? What is your own chief contribution?". Actually I usually, for a team of five, would have everyone give positive assessments of each of the top three contributors. If no one labels "jimmy" as a top contributor, I learn something. If everyone mentions "jimmy" I learn something else. But a positive assessment is more likely to be accurate and avoids the problem of people not wanting to say negative things about their friends.



Everyone gets the same grade on the big project unless there are serious reasons to do otherwise.



I have sometimes created (randomly) a "leader" of each team. The leader is not a manager, but is simply my main contact with each team so that I can get and give feedback when necessary. Try to do interventions early, if needed.



I usually use an asynchronous communication mechanism (a mailing list) so that anyone can ask a question at any time. I encourage others to answer questions as well as ask them, so I don't need to answer every question.



The goal is to reduce the load to a manageable level and still give individual feedback periodically. I haven't tried to automate grading in any way, but just made the scope of my problem more feasible.



Most of the course grade would be on the second project not the final exam (if any).



I could either use face time for lectures, or I could flip the classroom, letting the teams work together in lab and providing "content" through videos or readings done after hours. With a flipped design, I get to monitor each team in real time.







share|improve this answer














share|improve this answer



share|improve this answer








edited May 30 at 21:12

























answered May 30 at 20:51









BuffyBuffy

24.5k94186




24.5k94186











  • $begingroup$
    Thank you for taking the time to go over an approach to tackle my problem. I'll definitely take it into consideration when approaching the class. However, I'm looking for tools or techniques for grading automation. I would really like to be able to learn from approaches that other instructors use to make a first pass at assessment of HTML, CSS, and JavaScript code for Web Development projects.
    $endgroup$
    – mpcsf
    May 30 at 23:18

















  • $begingroup$
    Thank you for taking the time to go over an approach to tackle my problem. I'll definitely take it into consideration when approaching the class. However, I'm looking for tools or techniques for grading automation. I would really like to be able to learn from approaches that other instructors use to make a first pass at assessment of HTML, CSS, and JavaScript code for Web Development projects.
    $endgroup$
    – mpcsf
    May 30 at 23:18
















$begingroup$
Thank you for taking the time to go over an approach to tackle my problem. I'll definitely take it into consideration when approaching the class. However, I'm looking for tools or techniques for grading automation. I would really like to be able to learn from approaches that other instructors use to make a first pass at assessment of HTML, CSS, and JavaScript code for Web Development projects.
$endgroup$
– mpcsf
May 30 at 23:18





$begingroup$
Thank you for taking the time to go over an approach to tackle my problem. I'll definitely take it into consideration when approaching the class. However, I'm looking for tools or techniques for grading automation. I would really like to be able to learn from approaches that other instructors use to make a first pass at assessment of HTML, CSS, and JavaScript code for Web Development projects.
$endgroup$
– mpcsf
May 30 at 23:18












1












$begingroup$

Assessing web dev courses at scale can be tricky because you have to consider the following:



  • ensure that the resulting web app looks as expected

  • all functionalities should work as expected with the correct logic

  • the code quality to make everything work should meet the industry standard

With 60 students (or any number over 20 really), this can get really tricky.




My recommendation would be to find tools that help you do the following:



  • Asses the looks: You should be able to preview the submission without downloading and running anything locally (CodeSandbox)

  • Correct logic: Either run E2E tests and/or unit tests (Puppeteer, Jest)

  • Code quality: linters (ESLint)


I would also recommend giving a try to AutoGradr that does all of the above in a single tool and is built specifically for educators such as yourself. (Disclaimer: I'm the author of this free tool)






share|improve this answer









$endgroup$












  • $begingroup$
    I'm trying AutoGradr right now. Currently waiting for the HTML/CSS stack to be unlocked, but it looks good so far
    $endgroup$
    – mpcsf
    yesterday















1












$begingroup$

Assessing web dev courses at scale can be tricky because you have to consider the following:



  • ensure that the resulting web app looks as expected

  • all functionalities should work as expected with the correct logic

  • the code quality to make everything work should meet the industry standard

With 60 students (or any number over 20 really), this can get really tricky.




My recommendation would be to find tools that help you do the following:



  • Asses the looks: You should be able to preview the submission without downloading and running anything locally (CodeSandbox)

  • Correct logic: Either run E2E tests and/or unit tests (Puppeteer, Jest)

  • Code quality: linters (ESLint)


I would also recommend giving a try to AutoGradr that does all of the above in a single tool and is built specifically for educators such as yourself. (Disclaimer: I'm the author of this free tool)






share|improve this answer









$endgroup$












  • $begingroup$
    I'm trying AutoGradr right now. Currently waiting for the HTML/CSS stack to be unlocked, but it looks good so far
    $endgroup$
    – mpcsf
    yesterday













1












1








1





$begingroup$

Assessing web dev courses at scale can be tricky because you have to consider the following:



  • ensure that the resulting web app looks as expected

  • all functionalities should work as expected with the correct logic

  • the code quality to make everything work should meet the industry standard

With 60 students (or any number over 20 really), this can get really tricky.




My recommendation would be to find tools that help you do the following:



  • Asses the looks: You should be able to preview the submission without downloading and running anything locally (CodeSandbox)

  • Correct logic: Either run E2E tests and/or unit tests (Puppeteer, Jest)

  • Code quality: linters (ESLint)


I would also recommend giving a try to AutoGradr that does all of the above in a single tool and is built specifically for educators such as yourself. (Disclaimer: I'm the author of this free tool)






share|improve this answer









$endgroup$



Assessing web dev courses at scale can be tricky because you have to consider the following:



  • ensure that the resulting web app looks as expected

  • all functionalities should work as expected with the correct logic

  • the code quality to make everything work should meet the industry standard

With 60 students (or any number over 20 really), this can get really tricky.




My recommendation would be to find tools that help you do the following:



  • Asses the looks: You should be able to preview the submission without downloading and running anything locally (CodeSandbox)

  • Correct logic: Either run E2E tests and/or unit tests (Puppeteer, Jest)

  • Code quality: linters (ESLint)


I would also recommend giving a try to AutoGradr that does all of the above in a single tool and is built specifically for educators such as yourself. (Disclaimer: I'm the author of this free tool)







share|improve this answer












share|improve this answer



share|improve this answer










answered Jun 2 at 17:00









tusharsonitusharsoni

43328




43328











  • $begingroup$
    I'm trying AutoGradr right now. Currently waiting for the HTML/CSS stack to be unlocked, but it looks good so far
    $endgroup$
    – mpcsf
    yesterday
















  • $begingroup$
    I'm trying AutoGradr right now. Currently waiting for the HTML/CSS stack to be unlocked, but it looks good so far
    $endgroup$
    – mpcsf
    yesterday















$begingroup$
I'm trying AutoGradr right now. Currently waiting for the HTML/CSS stack to be unlocked, but it looks good so far
$endgroup$
– mpcsf
yesterday




$begingroup$
I'm trying AutoGradr right now. Currently waiting for the HTML/CSS stack to be unlocked, but it looks good so far
$endgroup$
– mpcsf
yesterday










mpcsf is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















mpcsf is a new contributor. Be nice, and check out our Code of Conduct.












mpcsf is a new contributor. Be nice, and check out our Code of Conduct.











mpcsf is a new contributor. Be nice, and check out our Code of Conduct.














Thanks for contributing an answer to Computer Science Educators Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcseducators.stackexchange.com%2fquestions%2f5728%2fanyone-teach-web-development-how-do-you-assess-it%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Grendel Contents Story Scholarship Depictions Notes References Navigation menu10.1093/notesj/gjn112Berserkeree

Area configuration aggregation error after install Porto themeMagento 2.1 CE Installed but front/backend not loading/workingCSS not loading on page within Magento 2 pageCannot install module in Magento 2no commands defined in the “setup” namespace. in Magento2Magento 2: Static files are present but shows 404Why do i have to always run the commands to clean cache in Magento 2.1.8?Failure reason: 'Unable to unserialize value.'Error 500 after magento migrationIn production mode the site does not loadMagento 2 : Error 500 after installing

Middle Expansion Olielle Resaix Definition: Uttering songs of triumph shouting with joy triumphant exulting Sejunction Journal 붙다 달 고급 품목 외출 The stretch trades the screeching tin. Definition: The act of speaking with a drawl a drawl Cough Sand Definition: An uproar a quarrel a noisy outbreak Shake Iron Publicize Horse House Baby 사과 Resaix Flaggy Jelly Temporary Unequaled Puppet A drop in the bucket Shrew 성격 회원 성질 미팅 The burn frames the tacky quality. Materialistic The smoke reduces the way. Yammoe Nondescript Cheek 얼굴 배 약하다 날리다 타다 The illegal country shows the iron. Help Rule Drearien Smoke Teaching Meaty Wasp Abraham Lincoln Jaws 진심 수리하다 Size Cork Idea Convert Think Lark John Lennon 거울 청소 군 추천하다 아이스크림