CloudCoder is an open-source web-based programming exercise system.
You can find more information on the CloudCoder website and on the CloudCoder wiki.
This project forked from daveho/cloudcoder
A web-based programming exercise system.
License: GNU Affero General Public License v3.0
CloudCoder is an open-source web-based programming exercise system.
You can find more information on the CloudCoder website and on the CloudCoder wiki.
java -jar cloudcoderApp-v0.1.0.jar registerstudents
For which course would you like to register students?
0 - CCDemo - CloudCoder demo course
[Enter value in range 0..0] 0
Enter the name of the file containing a tab-separated list student registration entries in this format:
username firstname lastname email password section
Usernames in the datbase will be re-used, but the names/email/password will not be updated,and users will not be registered for a course if they are already registered
[default: ] ==> test
Note that this may be a slow operation
Some logging results will be appended to logs/cloudcoder.log rather than echoed to stdout
java.lang.IllegalArgumentException: Unsupported conversion from java.lang.Integer to java.lang.String
at org.cloudcoder.app.server.persist.util.DBUtil.convertValue(DBUtil.java:820)
at org.cloudcoder.app.server.persist.util.DBUtil.loadModelObjectFields(DBUtil.java:926)
at org.cloudcoder.app.server.persist.util.DBUtil.loadModelObjectFields(DBUtil.java:908)
at org.cloudcoder.app.server.persist.util.ConfigurationUtil.getUsersInCourse(ConfigurationUtil.java:455)
at org.cloudcoder.app.server.persist.util.ConfigurationUtil.registerStudentsForCourseId2(ConfigurationUtil.java:391)
at org.cloudcoder.app.server.persist.RegisterStudents.registerStudents(RegisterStudents.java:49)
at org.cloudcoder.app.server.persist.RegisterStudents.main(RegisterStudents.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.cloudcoder.jetty.NestedJarClassLoader.runMain(NestedJarClassLoader.java:107)
at org.cloudcoder.jetty.WebServer.runAdminCommand(WebServer.java:99)
at org.cloudcoder.jetty.WebServer.handleCommand(WebServer.java:86)
at org.cloudcoder.webserver.CloudCoderWebServer.main(CloudCoderWebServer.java:61)
Database error: Unsupported conversion from java.lang.Integer to java.lang.String
The test file content are as follows :
test1 test1 test1 [email protected] jango 101
The save button on the edit problems page doesn't always work. In particular, the first save seems to work but subsequent saves do not.
When searching the repository, result exercises that match more tags should be prioritized above result exercises that match fewer tags. For example, when searching for "c kochan", exercises that have both tags should appear before exercises that just have "c".
I've been trying to register a test student. My install is done and seems to work properly but I wanted to look at it from a student's perspective before my semester starts. My studentID file has only one line (with tabs between each field):
test firstName lastName [email protected] password 1
I keep getting the following error when trying to register this test student:
java.lang.IllegalArgumentException: Unsupported conversion from java.lang.Integer to java.lang.String
at org.cloudcoder.app.server.persist.util.DBUtil.convertValue(DBUtil.java:820)
at org.cloudcoder.app.server.persist.util.DBUtil.loadModelObjectFields(DBUtil.java:926)
at org.cloudcoder.app.server.persist.util.DBUtil.loadModelObjectFields(DBUtil.java:908)
at org.cloudcoder.app.server.persist.util.ConfigurationUtil.getUsersInCourse(ConfigurationUtil.java:455)
at org.cloudcoder.app.server.persist.util.ConfigurationUtil.registerStudentsForCourseId2(ConfigurationUtil.java:391)
at org.cloudcoder.app.server.persist.RegisterStudents.registerStudents(RegisterStudents.java:49)
at org.cloudcoder.app.server.persist.RegisterStudents.main(RegisterStudents.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.cloudcoder.jetty.NestedJarClassLoader.runMain(NestedJarClassLoader.java:107)
at org.cloudcoder.jetty.WebServer.runAdminCommand(WebServer.java:99)
at org.cloudcoder.jetty.WebServer.handleCommand(WebServer.java:86)
at org.cloudcoder.webserver.CloudCoderWebServer.main(CloudCoderWebServer.java:61)
Database error: Unsupported conversion from java.lang.Integer to java.lang.String
Not sure what to do next. Any ideas?
When a CloudCoder problem is assigned for credit and has a due
date, the instructor will need to get the best submission completed
by the submission deadline.
One idea: in problem stats page, add an "ontime submissions"
checkbox. If checked, only ontime submissions are considered.
Now that we have the Health servlet that reports data about
connected builder threads and submission queue size, we need a
monitor that can alert us (by sending email) in the case that
a webapp has no connected builders, or has excessive submission
queue size, etc.
Saw this stacktrace after leaving the builder running in Eclipse
overnight (without a webapp to connect to):
2013-02-08 00:49:34,956 NoConnectTimer ERROR - Cannot connect to CloudCoder server (last connection about 29179 seconds ago)
Exception in thread "Thread-0" java.lang.NullPointerException
at org.cloudcoder.builder2.server.Builder2.safeReadObject(Builder2.java:223)
at org.cloudcoder.builder2.server.Builder2.run(Builder2.java:92)
at java.lang.Thread.run(Thread.java:679)
Need to investigate. Race condition?
Got an exception containing the following trying to submit an exercise
to the repository using the demo webapp:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
did we forget to include commons logging?
Students can write general-purpose code that is NOT tied to a particular exercise, and the system will execute the code and capture the results
Some issues:
Sometimes I want to insert a new test case in between existing
test cases (because there a logical grouping of test cases I want
to preserve), but it's hard to do this because test cases can't
move. We should support "Move Up" and "Move Down" buttons
for test cases.
When the builder creates TestResults for exercises checked by regexp, the expected output (regexp) should not be shown.
Problem stats and user progress (and maybe other views/pages
that use a DataGrid) should allow column sorting. GWT seems to
support it.
Please allow alphanumeric section "numbers".
Our school uses alphanumeric section identifiers, but attempting to create a course with section, for example, of "T1" results in:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.cloudcoder.jetty.NestedJarClassLoader.runMain(Unknown Source)
at org.cloudcoder.jetty.WebServer.runAdminCommand(Unknown Source)
at org.cloudcoder.jetty.WebServer.handleCommand(Unknown Source)
at org.cloudcoder.webserver.CloudCoderWebServer.main(CloudCoderWebServer.java:61)
Caused by: java.lang.NumberFormatException: For input string: "T1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:481)
at java.lang.Integer.parseInt(Integer.java:514)
at org.cloudcoder.app.server.persist.util.ConfigurationUtil.askInt(ConfigurationUtil.java:71)
at org.cloudcoder.app.server.persist.CreateCourse.main(CreateCourse.java:78)
... 8 more
In the problem admin page, there should be a checkmark next to the
exercises that have been shared to the repository. This will make
it easy for instructors to see which exercises haven't been shared yet.
Doing
java -jar cloudcoderApp-v0.0.9.jar listconfig
shows the config entry
cloudcoder.submitsvc.ssl.keystore.password=changeit
for both the webapp and builder. Is this something that needs changing post-install? If so, how?
It would be nice to have an easy way of determining how many
exercises each student in a course has completed.
The webapp should sanitize the problem description HTML before displaying it (the same way that the repository webapp does.)
Various issues with the user account page:
In the webapp, CoursesAndProblemsPage2 should allow the list
of problems/submission receipts to be refreshed. This would be useful,
for example, if the instructor is giving a quiz, since it would allow
the students to see the quiz once the quiz is started.
Hi Dave,
I am new to Programming and I want to build Online Compiler for my upcoming website. Further, I followed all your steps mentioned in your Repo:
But still I am not able to see anything. Please find my link below
https://ec2-54-169-99-181.ap-southeast-1.compute.amazonaws.com/cloudcoder
I am stuck at this point, how I should move forward please assist further.
Thanks in advance.
When the "Visualize!" button is clicked, the Python visualizer does not load up.
Environment: Latest Chrome (Version 35.0.1916.155) on Windows 7.
The file https://s3.amazonaws.com/org.cloudcoder.daemon.binaries/daemon-0.7.jar is not found by AWS. Running ./fetchdeps.pl fails.
Fetching https://s3.amazonaws.com/org.cloudcoder.daemon.binaries/daemon-0.7.jar...
--2014-08-21 10:48:00-- https://s3.amazonaws.com/org.cloudcoder.daemon.binaries/daemon-0.7.jar
Resolving s3.amazonaws.com... 176.32.99.56
Connecting to s3.amazonaws.com|176.32.99.56|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2014-08-21 10:48:00 ERROR 403: Forbidden.
Bulk register of users, either through the webapp or the command-line, is really slow and doesn't use a transaction. It's so slow that the webapp will time out before it finishes.
Requirements:
If a session timeout occurs, and you navigate from the development
page back to the home page, the password dialog doesn't go away
even if it is successfully submitted.
When the builder cannot connect to the webapp, we should log additional information about why it cannot connect. Right now we get:
2013-03-27 12:52:07,736 WebappSocketFactory INFO - Builder: using keystore keystore.jks
2013-03-27 12:52:07,740 ThreadGroupSecurityManager INFO - ThreadGroupSecurityManager created
2013-03-27 12:52:07,755 Builder2Daemon INFO - Builder starting
2013-03-27 12:52:07,755 Builder2Daemon INFO - appHost=CloudCoderWeb2
2013-03-27 12:52:07,756 Builder2Daemon INFO - appPort=47374
2013-03-27 12:52:07,757 Builder2Daemon INFO - numThreads=2
2013-03-27 12:53:11,114 NoConnectTimer ERROR - Cannot connect to CloudCoder server
It might be nice to know more details so that we can better diagnose problems with client installations.
The instructions here on the wiki
say "Start CloudCoder webapp and builder. Right-click on the Builder2.java in the CloudCoderBuilder2 project (it's in the package that ends with .server) and choose Run As โ Java Application; ". In my Eclipse (Juno) there is no run configuration for Builder2.java. There is one for Builder2Server.java, but that gives a Connection Refused exception:
Running the builder interactively (type "shutdown" to quit)
2013-08-15 21:45:43,412 Builder2Daemon WARN - Could not load cloudcoder.properties, using default config properties
2013-08-15 21:45:43,481 WebappSocketFactory INFO - Builder: using keystore defaultkeystore.jks
2013-08-15 21:45:43,484 ThreadGroupSecurityManager INFO - ThreadGroupSecurityManager created
2013-08-15 21:45:43,498 Builder2Daemon INFO - Builder starting
2013-08-15 21:45:43,498 Builder2Daemon INFO - appHost=localhost
2013-08-15 21:45:43,503 Builder2Daemon INFO - appPort=47374
2013-08-15 21:45:43,503 Builder2Daemon INFO - numThreads=2
2013-08-15 21:45:43,672 NoConnectTimer ERROR - Cannot connect to CloudCoder server
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.cloudcoder.builder2.server.WebappSocketFactory.connectToWebapp(WebappSocketFactory.java:147)
at org.cloudcoder.builder2.server.Builder2Server.createSecureSocket(Builder2Server.java:148)
at org.cloudcoder.builder2.server.Builder2Server.attemptToConnectToServer(Builder2Server.java:154)
at org.cloudcoder.builder2.server.Builder2Server.runOnce(Builder2Server.java:95)
at org.cloudcoder.builder2.server.Builder2Server.run(Builder2Server.java:84)
at java.lang.Thread.run(Thread.java:724)
2013-08-15 21:45:43,672 NoConnectTimer ERROR - Cannot connect to CloudCoder server
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.cloudcoder.builder2.server.WebappSocketFactory.connectToWebapp(WebappSocketFactory.java:147)
at org.cloudcoder.builder2.server.Builder2Server.createSecureSocket(Builder2Server.java:148)
at org.cloudcoder.builder2.server.Builder2Server.attemptToConnectToServer(Builder2Server.java:154)
at org.cloudcoder.builder2.server.Builder2Server.runOnce(Builder2Server.java:95)
at org.cloudcoder.builder2.server.Builder2Server.run(Builder2Server.java:84)
at java.lang.Thread.run(Thread.java:724)
2013-08-15 21:45:48,681 NoConnectTimer ERROR - Cannot connect to CloudCoder server (last connection about 5 seconds ago)
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.cloudcoder.builder2.server.WebappSocketFactory.connectToWebapp(WebappSocketFactory.java:147)
at org.cloudcoder.builder2.server.Builder2Server.createSecureSocket(Builder2Server.java:148)
at org.cloudcoder.builder2.server.Builder2Server.attemptToConnectToServer(Builder2Server.java:154)
at org.cloudcoder.builder2.server.Builder2Server.runOnce(Builder2Server.java:95)
at org.cloudcoder.builder2.server.Builder2Server.run(Builder2Server.java:84)
at java.lang.Thread.run(Thread.java:724)
2013-08-15 21:45:48,685 NoConnectTimer ERROR - Cannot connect to CloudCoder server (last connection about 5 seconds ago)
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.cloudcoder.builder2.server.WebappSocketFactory.connectToWebapp(WebappSocketFactory.java:147)
at org.cloudcoder.builder2.server.Builder2Server.createSecureSocket(Builder2Server.java:148)
at org.cloudcoder.builder2.server.Builder2Server.attemptToConnectToServer(Builder2Server.java:154)
at org.cloudcoder.builder2.server.Builder2Server.runOnce(Builder2Server.java:95)
at org.cloudcoder.builder2.server.Builder2Server.run(Builder2Server.java:84)
at java.lang.Thread.run(Thread.java:724)
2013-08-15 21:45:58,693 NoConnectTimer ERROR - Cannot connect to CloudCoder server (last connection about 15 seconds ago)
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.cloudcoder.builder2.server.WebappSocketFactory.connectToWebapp(WebappSocketFactory.java:147)
at org.cloudcoder.builder2.server.Builder2Server.createSecureSocket(Builder2Server.java:148)
at org.cloudcoder.builder2.server.Builder2Server.attemptToConnectToServer(Builder2Server.java:154)
at org.cloudcoder.builder2.server.Builder2Server.runOnce(Builder2Server.java:95)
at org.cloudcoder.builder2.server.Builder2Server.run(Builder2Server.java:84)
at java.lang.Thread.run(Thread.java:724)
2013-08-15 21:45:58,700 NoConnectTimer ERROR - Cannot connect to CloudCoder server (last connection about 15 seconds ago)
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.cloudcoder.builder2.server.WebappSocketFactory.connectToWebapp(WebappSocketFactory.java:147)
at org.cloudcoder.builder2.server.Builder2Server.createSecureSocket(Builder2Server.java:148)
at org.cloudcoder.builder2.server.Builder2Server.attemptToConnectToServer(Builder2Server.java:154)
at org.cloudcoder.builder2.server.Builder2Server.runOnce(Builder2Server.java:95)
at org.cloudcoder.builder2.server.Builder2Server.run(Builder2Server.java:84)
at java.lang.Thread.run(Thread.java:724)
2013-08-15 21:46:58,743 NoConnectTimer ERROR - Cannot connect to CloudCoder server (last connection about 75 seconds ago)
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.cloudcoder.builder2.server.WebappSocketFactory.connectToWebapp(WebappSocketFactory.java:147)
at org.cloudcoder.builder2.server.Builder2Server.createSecureSocket(Builder2Server.java:148)
at org.cloudcoder.builder2.server.Builder2Server.attemptToConnectToServer(Builder2Server.java:154)
at org.cloudcoder.builder2.server.Builder2Server.runOnce(Builder2Server.java:95)
at org.cloudcoder.builder2.server.Builder2Server.run(Builder2Server.java:84)
at java.lang.Thread.run(Thread.java:724)
2013-08-15 21:46:58,747 NoConnectTimer ERROR - Cannot connect to CloudCoder server (last connection about 75 seconds ago)
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at org.cloudcoder.builder2.server.WebappSocketFactory.connectToWebapp(WebappSocketFactory.java:147)
at org.cloudcoder.builder2.server.Builder2Server.createSecureSocket(Builder2Server.java:148)
at org.cloudcoder.builder2.server.Builder2Server.attemptToConnectToServer(Builder2Server.java:154)
at org.cloudcoder.builder2.server.Builder2Server.runOnce(Builder2Server.java:95)
at org.cloudcoder.builder2.server.Builder2Server.run(Builder2Server.java:84)
at java.lang.Thread.run(Thread.java:724)
Did I miss a step somewhere?!
Hey guys, I'm trying to load a tab-separated roster as described in the wiki, and I got a MySQLSyntaxErrorException
. Here's the transcript:
$ java -jar cloudcoderApp-v0.0.7.1.jar registerstudents
For which course would you like to register students?
0 - CCDemo - CloudCoder demo course
1 - CS102 - Programming 1
[Enter value in range 0..1] 1
Enter the name of the file containing a tab-separated list student registration entries in this format:
username firstname lastname email password section
Usernames in the datbase will be re-used, but the names/email/password will not be updated,and users will not be registered for a course if they are already registered
[default: ] ==> /home/ubuntu/cloudcoder-accounts.csv
Note that this may be a slow operation
Some logging results will be appended to logs/cloudcoder.log rather than echoed to stdout
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'courseId' in 'where clause'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2281)
at org.cloudcoder.app.server.persist.ConfigurationUtil.getUsersInCourse(Unknown Source)
at org.cloudcoder.app.server.persist.ConfigurationUtil.registerStudentsForCourseId2(Unknown Source)
at org.cloudcoder.app.server.persist.RegisterStudents.registerStudents(Unknown Source)
at org.cloudcoder.app.server.persist.RegisterStudents.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.cloudcoder.jetty.NestedJarClassLoader.runMain(Unknown Source)
at org.cloudcoder.jetty.WebServer.runAdminCommand(Unknown Source)
at org.cloudcoder.jetty.WebServer.handleCommand(Unknown Source)
at org.cloudcoder.webserver.CloudCoderWebServer.main(CloudCoderWebServer.java:61)
Database error: Unknown column 'courseId' in 'where clause'
I checked out the schema in MySQL to see how the column was specified there, and it seems to be course_id
:
mysql> describe cc_course_registrations;
+-------------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| course_id | int(11) | NO | | NULL | |
| user_id | int(11) | NO | | NULL | |
| registration_type | int(11) | NO | | NULL | |
| section | int(11) | NO | | NULL | |
+-------------------+---------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
I'm probably going to set up a dev environment shortly, so I can occasionally push patches into my live environment. Thanks for the help!
Allow the instructor to explicitly re-test a student submission,
or a batch of student submissions (i.e., all submissions for a
particular exercise.)
Currently a problem includes both a date when it was assigned, and a date when it is due. This precludes multiple concurrent courses sharing the same exercises with different deadlines, and makes it difficult to group problems together.
We should factor the due date out of a problem, and add assignments that have their own start/end deadlines, as well as a list of problems in the assignment.
Note that this requires changes to the database as well as a new workflow for creating and editing assignments.
The repository webapp should allow the user to reset his/her password
It should be possible to link directly to an exercise.
One idea is to use an anchor (#foo/bar/baz) on the URL,
have the webapp check for this, and navigate automatically to
the development mode to work on that exercise (once the
user has logged in.)
I have succesfully installed the webapp/builder and everything works fine.
But when I want to include the iostream lib there is the error note "Error compiling submission" after I press the Submit! button.
"stdio.h" works fine.
The ordering of problems is both in students and advisors view given by the ID. The ID of the problem is is automatically created and can not be changed afterwards.
Sometimes you want to create a new problem that should be listed in between existing ones. Currently this can not be done. My proposal is: Either let the user decide how he wants to sort the list of problems or sort the list by name, not by ID.
How to change the theme of cloudcoder working area background...? Pls update me soon...
Thanks
R.Asaithambi
Add functionality so that multiple source files can be used in exercises. Possibly using tabbed code windows.
Builder needs to run JAVA_PROGRAM in a security manager.
When editing a problem in the edit problem page, a user who
is an instructor for multiple sections will see multiple copies
of the test cases for the problem. This is almost certainly
an SQL issue in JDBCDatabase.
When I submit the test then it shows the error like "No builders found ".
Note :I run this application in local machine(Linux) both webapp and builder in same machine..
Please help me to go further step...
Thanks.
It is somewhat confusing that you have to click on a course
before certain UI elements in the home page become active.
We should add an initial info status message that explains
this.
Currently there's no way to link to anything inside CloudCoder. People have to log in, then navigate to find a particular page (i.e. to find a particular exercise).
It looks like we should use the GWT History mechanism for this (which we already do to some extent with the back-arrow that shows up on most CloudCoder pages):
https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsHistory
TestResults produced by builder2 contain the test input even for secret test cases.
If a NameError occurs when executing a python test, this is really
closer to a compiler error than a test failure, and it would be nice
to report it as such.
I shoehorned in reporting in the "Message" column (which we really
don't want for python function exercises), but this makes all of
the columns too narrow, is ugly, etc.
In the edit problem page of the webapp, sometimes clicking the"Delete"
button for a test case doesn't delete the test case.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.