CodeWarmers!
"Center for CS Education & Outreach presents CodeWarmers, a course providing an enjoyable introduction to programming and algorithms through programming contest problems. Participants should be comfortable with basics of Java, C++, or Python. Logistics include in-person or online attendance at UT Dallas with focus on C++/Java. Recommended Java compilers & IDEs are Java Platform (JDK) and Eclipse. For C++, MS Visual Studio Community Edition is suggested. Explore opportunities like IOI/USACO and ACM ICPC competitions for more challenges."
Uploaded on Feb 24, 2025 | 0 Views
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Center for CS Education & Outreach Center for CS Education & Outreach presents CodeWarmers! Enjoyable introduction to serious programming & algorithms through Programming Contest Problems
Pre-requisites Participants should be comfortable with the basics of programming in Java/C++/Python. Those basic concepts are decisions, loops, functions/methods, and arrays. If you are new to programming, you should complete CS1336 Programming Fundamentals course in UT Dallas, or Java/C++/Python coding camp through our K12 Outreach program, OR should have equivalent experience.
Logistics You can attend this course @ UT Dallas in-person or online. You should bring a laptop with WiFi access to in-person sessions it is limited to UT Dallas sessions. We will solve the weekly problem first, then optionally discusss & solve one more problem if time permits. Then, the next week s problem will be discussed. usaco.org supports C++, Java & Python, but we will focus on C++ / Java in the course, though the most content should be language-independent.
Java compiler & IDE Compiler: Java Platform (JDK) www.oracle.com/technetwork/java/javase/downloads Eclipse IDE for Java Developers www.eclipse.org/downloads/ Simpler jGRASP IDE from jgrasp.org is OK, but NetBeans is not recommended since it requires a package for each project & package fails in compilation @ usaco.org.
C++ compiler & IDE MS Visual Studio Community Edition www.visualstudio.com/products/visual-studio-community-vs (or) codeblocks-13.12mingw-setup.exe from www.codeblocks.org/downloads/26 (or) NetBeans C/C++ bundle from netbeans.org/downloads/ Google for Configuring the NetBeans for C++ and follow steps to install a C++ compiler. (or) www.eclipse.org/downloads/ Eclipse IDE for C/C++ Developers
IOI/USACO International Olympiad in Informatics USA Computing Olympiad (USACO) feeds to it Information & competitions: www.usaco.org USACO training site: train.usaco.org/usacogate We need to create accounts in both sites. Yearly world-level contest for high school students
ACM ICPC More complicated college level problems ACM International Programming Contest Information: icpc.baylor.edu ACM programming competitions training site: uva.onlinejudge.org
ACM ICPC Competitions College level Region level International Competition: ACM-ICPC World Finals every year - icpc.baylor.edu Dr. Ivor Page runs CodeBurners email list with weekly challenge problems Additionally, he conducts monthly contests @ UT Dallas and trains few teams for regional contest too. Dr. Page also runs a High School Programming Contest every semester nearly 100 teams attended in Fall 2015! Details @ utd.edu/k12/contest
More online competition sites www.codechef.com www.topcoder.com www.spoj.com projecteuler.net Lot more at en.wikipedia.org/wiki/Category:Programming_contests
USACO competitions Individual competitor Uses input files & output files (NO standard input/output) Upload and submit the source file for assessment Typically 10 testcases For each case, result can be YES, NO, or Time-over Need to get OK for all testcases Helps you by pointing out invalid output & showing the correct output We will stick to USACO website in this course due to its friendly interface & simpler problems
ICPC competitions team based (each team has 3 college students) Uses input files & output files (NO standard input/output) Varying # of testcases Upload and submit the source file for judging 3 indications: Success, Wrong answer, or Time Exceeded No information on test input/output provided for wrong answers
Start-up code for C++ (training site) /* ID: jeyak71 PROG: beads LANG: C++ */ Needed for USACO training site #include <iostream> #include <fstream> #include <string> using namespace std; int main() { ofstream fout ("beads.out"); ifstream fin ("beads.in"); int x, y; fin >> x; fout << y; fout.close(); }
Start-up code for Java (training site) /* ID: jeyak71 PROG: beads LANG: JAVA */ import java.util.*; import java.io.*; Needed for USACO training site class beads { public static void main(String[] args) throws Exception { Scanner input = new Scanner(new File("beads.in")); PrintWriter output = new PrintWriter("beads.out"); int x = input.nextInt(); output.println( ); output.close(); }
Start-up code for C++ (usaco) #include <iostream> #include <fstream> #include <string> using namespace std; int main() { ofstream fout ( cowfind.out"); ifstream fin ( cowfind.in"); int x, y; //fin >> x; //fout << y; fout.close(); }
Start-up code for Java (usaco) import java.util.*; import java.io.*; class cowfind { public static void main(String[] args) throws Exception { Scanner input = new Scanner(new File( cowfind.in")); PrintWriter output = new PrintWriter( cowfind.out"); //int x = input.nextInt(); //output.println( ); output.close(); }
Problem set for Session #1 USACO site Nov 2012 contest: Find the Cow!