• 제목/요약/키워드: Programming Assignments

검색결과 28건 처리시간 0.031초

A Workflow for Practical Programming Class Management Using GitHub Pages and GitHub Classroom

  • Aaron Daniel Snowberger;Choong Ho Lee
    • 실천공학교육논문지
    • /
    • 제15권2호
    • /
    • pp.331-339
    • /
    • 2023
  • In programming classes, there is always a need to efficiently manage programming assignments. This is especially important as class sizes and assignment complexity grows. GitHub and GitHub Classroom makes the management of student assignments much simpler than uploading files and folders to a LMS or shared online drive. Additionally, git and GitHub are industry standard tools, so introducing students these tools in class provides them a good opportunity to start learning about how software is developed in the real-world. This study describes a workflow that uses both GitHub Pages and GitHub Classroom for more efficient classroom and assignment management. The workflow outlined in this study was used in two practical web programming classes in Spring 2023 with 46 third and fourth-year university students. GitHub Pages was used as a classroom website to distribute class announcements, assignments, lecture slides, study guides, and exams. GitHub Classroom was used as a class roster and assignment management platform. The workflow presented in this study is expected to assist other lecturers with the formidable tasks of distributing, collecting, grading, and leaving feedback on multiple students' multi-file programming assignments in practical programming classes.

자동화된 프로그래밍 과제 평가 시스템의 설계 및 구현 (Design and Implementation of an Automatic Grading System for Programming Assignments)

  • 김미혜
    • 인터넷정보학회논문지
    • /
    • 제8권6호
    • /
    • pp.75-85
    • /
    • 2007
  • 프로그래밍 교육에 있어 학습자의 학업 성취도를 향상시킬 수 있는 중요한 요인 중의 하나는 다양한 형태의 과제를 학습자에게 부여하여 문제 해결 연습 기회를 많이 제공해 주는 것이다. 그러나 프로그래밍 과제 평가는 대부분 수작업으로 행해지고 있으면 정확한 평가 방법을 제공해 줄 수 있는 자동화된 도구 또한 결여되어 있는 게 현실이다. 이러한 제한된 환경 하에서 과제 평가는 교수자들에게 많은 시간과 노력을 요구하게 되어 다양한 형태의 과제 부여는 현실적으로 어려움이 있다. 이러한 문제를 극복하기 위해서는 교수자가 효율적이고 일괄적인 방법으로 과제를 쉽게 평가할 수 있고, 학습자들 상호간의 프로그램 소스코드의 표절 또한 용이하게 검사할 수 있는 자동화된 프로그래밍 평가 시스템이 필요하다. 따라서 본 논문에서는 교수자가 프로그램의 성능을 자동적인 방법으로 평가할 수 있을 뿐만 아니라 적절한 피드백과 함께 프로그램의 스타일과 표절에 대한 검사 또한 용이하게 수행할 수 있는 웹을 기반으로 한 프로그래밍 과제 평가 시스템을 설계하고 구현한다.

  • PDF

A Case Study of Puzzle Solving Applied to Programming Practice

  • Kang, Dae-Ki
    • 공학교육연구
    • /
    • 제13권2호
    • /
    • pp.3-6
    • /
    • 2010
  • In this paper, we report a case study of applying puzzle solving as a programming practice. There are many students, who have attended computer programming language courses, have had difficulties in accomplishing the course assignments. It is because just following and citing the programming language course materials is not sufficient for constructing computer programs. Many professional developers have stated that computer programming for small problems is an art of puzzle solving, where developing enterprise-size computer programming projects involves architectural insights which are already dealt in software engineering literatures. Following those backgrounds, we have explored the applicability of puzzle solving in a C++ object oriented programming course and have reported the results. The experimental results show that puzzle solving is effective to the students who are interested in computer programming and have at least beginner-level knowledge and expertise, but it turned out that puzzle solving assignments still does not draw much attention of the students who are not seriously interested in computer programming.

  • PDF

신속한 평가결과를 제공하는 웹기반 프로그래밍 교육시스템 (Web-based programming education system for providing rapid grading result)

  • 류혜정;박소영;심동욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2009년도 춘계학술대회
    • /
    • pp.511-514
    • /
    • 2009
  • 최근 웹은 교육 분야에서 이전보다 더 많이 활용되고 있다. 기존 웹기반 프로그래밍 교육 시스템은 학습자가 언제 어디서나 프로그래밍 과제를 제출한 후 컴파일 오류와 실행오류를 확인할 수 있도록 도와준다. 그러나 기존 시스템에서는 정답과의 일치 여부, 표절검사, 제한시간 내의 제출 여부 등에 관한 세부적인 평가결과를 제공하지 않는다. 본 논문에서는 신속한 평가결과를 제공하는 웹기반 프로그래밍 교육시스템을 제안한다. 이 시스템에서 표절검사는 이전의 학습자가 업로드한 파일만을 대상으로 비교하여 검사하므로, 피드백을 바로 제공할 수 있다. 제안하는 웹기반 프로그래밍 교육 시스템은 실제 약 40명의 학생들을 대상으로 하는 C 프로그래밍 언어 수업에 적용하였다. 제안하는 시스템은 신속한 피드백을 통해 학생들의 참여도를 개선하였다.

  • PDF

SW융합인재 양성을 위한 비전공자 프로그래밍 학습에 관한 사례 연구 (A Case Study on Programming Learning of Non-SW Majors for SW Convergence Education)

  • 서주영
    • 디지털융복합연구
    • /
    • 제15권7호
    • /
    • pp.123-132
    • /
    • 2017
  • 최근 SW융합인재 양성을 위한 비전공자 대상의 SW교육에 관심이 높아지고 있다. 국내는 SW중심대학을 필두로 전공과 상관없이 모든 학생들에게 SW를 기초교육으로 필수화하는 추세이다. 본 논문은 프로그래밍 수업 사례를 통해 SW 전공자와 비전공자, 비전공자의 경우 인문 계열과 이공 계열의 차이가 프로그래밍 학습 능력과 느끼는 어려움에 연관을 보이는 지를 학업 성취도 분석과 설문 및 개인 상담을 통해 살펴보았다. 그 결과 전공에 따른 학업 성취도엔 유의미한 차이를 보이지 않았으나, 인문 계열이 이공 계열보다 실습, 과제, 팀프로젝트와 같은 실제 프로그램 구현에 대한 체감 난이도는 높게 분석됐다. 상담 결과로 프로그래밍 문제 자체에 대한 이해 부족, 학습과 과제에 도움을 줄 수 있는 친구나 튜터와의 관계 부족, 단편적 교과 지식만으로는 학습 동기를 높이기 힘듦이 주요함을 알 수 있었다. 본 연구를 토대로 비전공자를 위한 SW교육 운영 방향에 대해 제언할 수 있을 것으로 기대한다.

프로그램 유사도 평가를 이용한 유사 프로그램의 그룹 짓기 (Grouping of Similar Programs using Program Similarity Evaluation)

  • 유재우;김영철
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권1호
    • /
    • pp.82-88
    • /
    • 2004
  • 프로그램 과제물과 같은 많은 프로그램을 모두 일일이 비교하는 것은 비용이 많이 든다. 더군다나 검수자가 과제물을 검사한다든가, 점수를 부여하고자 한다면 더욱 많은 시간이 요구된다. 물론 검수자가 많은 시간을 두고 평가해도 객관성이 떨어질 수도 있다. 이러한 문제점은 프로그램 과제물에 대해서 유사한 프로그램으로 서로 묶어 놓는다면 쉽게 해결할 수 있다. 즉, 유사한 프로그램으로 서로 묶어놓고 검사한다면 쉽게 검사나 평가가 가능하다. 본 논문에서는 많은 프로그램에 대해서 유사성이 높은 프로그램으로 그룹 짓기(grouping)를 수행하는 알고리즘을 제시하고 구현한다. 그룹 짓기 알고리즘은 (9)에서 제시한 프로그램 유사도 평가 알고리즘을 이용하여 유사도를 측정한 후, 유사성이 높은 프로그램을 그룹 짓기를 수행한다. 이 그룹 짓기 알고리즘을 이용하면 n개의 프로그램에 대해서 최대 n(n-1)/2 번에서 최소 (n-1)번까지 비교 횟수를 줄일 수가 있다. 본 논문의 실험 및 평가 부분에서는 실제로 모 대학의 과제물 10개를 추출하여 유사성을 기준으로 실험 평가한 결과를 보여준다.

비대면 환경에서의 '기계학습' 지도 사례 연구 : 융합전공 학생들을 중심으로 (A Case Study of Teaching 'Machine Learning' for Convergence Major Students in a Non-Face-to-Face Environment)

  • 이성옥;이지은;송현옥;김한길;정회경
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2022년도 춘계학술대회
    • /
    • pp.336-339
    • /
    • 2022
  • 본 연구에서는 프로그래밍 과목을 수강하는 융합전공 학생들의 학습 패턴 파악하여 과목 운영을 실시한 교수자의 사례를 살펴봄으로 향후 융합전공학생들을 대상으로 하는 SW 교과 운영에 시사점을 찾고자 한다. 융합전공의 프로그래밍 수업은 다양한 학년과 전공 학생들이 수강을 하는데 비대면 환경가운데 이들의 학습 패턴을 파악하고자 설문을 실시하였다. 교수자는 대면이 불가한 경우에도 학습자들의 수업참여도를 끌어낼 수 있을지 연구하였고 학습자들의 학습 성향을 파악하여 수업을 운영하고자 하였다. 코로나-19 상황가운데 자기주도 학습에 대한 성공경험을 유지하고 있는 학생들이 다수임에 따라 자기 주도적으로 과제를 해결할 수 있도록 매주 과제설정을 하였고 전원에 가까운 학생들이 과제를 제출하였다. 본 연구는 코로나-19로 인한 비대면 상황가운데 기계학습활용 과목을 융합전공 학생들에게 운영함으로서 학생들의 학습 패턴과 과제 수행여부, 프로그래밍 성취도를 연구하였다는 점에서 의의가 있다.

  • PDF

온라인 프로그래밍 개념학습 성취수준과 오류유형과의 관계 분석 (The Analysis of Relationship between Academic Achievement Level of Concept Learning and Error Type in Online Programming Course)

  • 김지선;김영식
    • 컴퓨터교육학회논문지
    • /
    • 제17권5호
    • /
    • pp.43-51
    • /
    • 2014
  • 본 연구는 중 고등학생들의 온라인 프로그래밍 과제 수행결과에서 발생한 오류를 파악하여, 오류유형과 오류내용을 분류하고, 프로그래밍 개념학습 성취수준에 따른 오류 빈도의 차이와 성취수준과 오류유형과의 상관관계를 분석하여 향후 프로그래밍 교육에 대한 방향과 인지수준에 따른 교육방법을 제시하였다. 연구를 위해 88명의 학생들의 프로그래밍 과제 수행 결과를 가지고 문법오류, 논리오류, 코딩오류로 오류유형과 오류내용을 분류하고 분석하였다. 분석결과, 세 오류유형 중 논리오류의 발생비율이 69.3%로 가장 높았으며, 성취수준에 따른 오류 빈도의 차이에서는 성취수준 상, 중, 하 세 집단 간에 유의한 차이가 있었다. 성취수준과 오류유형과의 상관관계 분석 결과에서는 논리오류와 코딩오류에서 부적 상관관계를 보여, 성취수준이 높을수록 논리오류와 코딩오류를 적게 범함을 알 수 있었다. 오류유형간의 상관관계에서는 문법오류와 코딩오류간의 정적상관관계를 보였다.

  • PDF

효과적인 프로그래밍언어 교육에 대한 연구 (A Study on Effective Education of Programming Language)

  • 조재수
    • 한국실천공학교육학회논문지
    • /
    • 제2권2호
    • /
    • pp.30-35
    • /
    • 2010
  • 본 논문에서는 학생들이 프로그래밍언어를 더 잘 이해하고, 프로그래밍 능력을 향상시킬 수 있는 몇 가지 방법을 제안한다. 현재 컴퓨터공학부뿐만 아니라, 전자공학, 메카트로닉스공학 등에서도 프로그래밍교육이 이루어지고 있으며, 특히 컴퓨터공학의 경우 프로그래밍 교과목은 가장 기본적인 교과목이라고 할 수 있다. 하지만, 컴퓨터 프로그래밍 언어를 이해하고, 주어진 프로그래밍 문제를 해석하여 프로그래밍언어로 구현하는 것에 많은 학생들이 어려움을 겪고, 프로그래밍언어를 가르치는 교수자들도 효과적인 프로그래밍 언어 교육에 관심이 많다. 학생들이 좀 더 잘 프로그래밍언어를 이해하고, 프로그래밍 기술을 향상시킬 수 있는 교육방법을 몇 가지 제안하면 다음과 같다. 첫째 학생들이 프로그래밍언어를 잘 이해하기 위해서는 먼저 컴퓨터 프로그램의 기본적인 동작원리 또는 컴퓨터구조에 대한 사전지식이 필요하다. 둘째 문법위주의 주입식 이론교육보다는 다양한 프로그래밍 예제실행 위주의 프로그래밍언어 교육이 더 효과적이다. 셋째 프로그램의 실행과정과 메모리 할당/해제 흐름에 대한 메모리상태 가시화교육이 필요하다. 넷째 효과적인 실습과 과제 프로그래밍문제들을 통한 프로그래밍 응용능력을 배양하도록 하자. 다섯째 본인 스스로 프로그래밍할 수 있도록 유도하고, 프로그래밍의 자유도를 충분히 부여하자. 마지막으로 텀프로젝트를 통한 개개인의 프로그래밍 능력을 극대화하는 것이 필요하다.

  • PDF

웹기반 프로그래밍 언어 강의 지원 시스템의 설계 및 구현 (Design and Implementation of a Web-based Programming Class Support System)

  • 박소영
    • 한국정보통신학회논문지
    • /
    • 제14권12호
    • /
    • pp.2775-2782
    • /
    • 2010
  • 본 논문에서는 강사가 학생에게 프로그래밍 언어를 효과적으로 가르칠 수 있도록 지원하는 웹기반 프로그래밍 언어 강의 지원 시스템을 제안한다. 제안하는 시스템은 오류 분석 단계와 검사 수행 단계로 구성된다. 먼저, 오류 분석 단계에서는 학생들이 제출한 프로그램에 컴파일 오류나 실행 오류가 있는지 확인한다. 이 때, 오류가 있으면 학생들이 이를 수정할 수 있도록 친절한 피드백을 제공한다. 그리고, 오류가 없으면 제출한 프로그램에 대해 소스 코드의 스타일 검사, 주석 검사, 표절 검사를 수행하고, 학생에게 검사결과에 대한 신속한 피드백을 제공한다. 따라서, 학생은 프로그램 과제물을 제출하고 바로 검사결과를 확인할 수 있다. 제안하는 시스템을 C 언어 수업에서 활용한 결과 학생들이 보다 적극적으로 프로그램 과제물을 제출하려는 경향이 나타났다.