• Contact Us Today!

    (925) 218-1816 or (510) 676-0415 | info@shengmengedu.com | 11040 Bollinger Canyon Rd, Suite E425, San Ramon, CA 94582

  • Celebrating all of Shengmeng's students who placed in USACO competitions in the 2019-2020 season

    The 2019-2020 USACO competition season concluded March 30; final results are posted.  We now celebrate all of our students who placed!

    Placed in USACO Bronze, Promoted to USACO Silver Division

    • Nicholas Chang
    • Daniel Guo
    • William Huang
    • Tze-Tseng Soh
    • Eric Wang
    • Morris Wu
    • Anthony Yu
    • Felix Zhou

    Placed in USACO Silver, Promoted to USACO Gold Division

    • Eric Wang

    Considering that we started with just 20 students only one year ago, I am proud and impressed by all of my students’ progress - even those whose name is not listed above.  There is no magic trick to placing - it is simply a function of perseverance, training, and hard work.  Most students will be tempted to think that “they’re not good at programming”, become discouraged, and quit.  Those who don’t quit, eventually place - it’s that simple. Every single one of the above students failed to place in the December 2019 contest. Undaunted, undeterred, they continued - and they won.  Of the 7 students who remain active from the original 20, every one of those who did not take a break from classes, and who also took our summer and winter bootcamps, passed Bronze. You can do this - believe in yourself :).


    Mr. James Dowdell, USACO Instructor 

  • James Dowdell, USACO instructor

    Mr. James Dowdell graduated from Harvard University in 2007 with a computer science degree. He is a seasoned software engineer (Java/Python/Scala/Javascript/C++) and has had a number of distinguished roles, including senior software engineer, data scientist, and manager, at several top technology companies including Microsoft, eBay, and Google. Recently he rediscovered his strong passion for teaching and hopes to transform Shengmeng Education Center into a launching pad for USACO rising stars and a center for training technical excellence. He looks forward to engaging new students who are eager to grow and excel in an environment where learning, questions, fun, participation, and some challenge, are all cultivated.

  • Computer Programming Courses for USACO Contests

    Shengmeng Education (SME) Center offers competition labs to prepare students for USACO contests, which happen four times each year from roughly December through March (each year is a little different).  Students at SME may choose any of three most popular programming languages (Python, Java and C++) to write code in the classroom and during USACO competition. Based on the results of the web-based contests throughout the year (with particular emphasis on the US Open), as well as performance in the on-line training pages, approximately 16 - 24 students are invited to a rigorous academic training camp in the early summer, hosted at Clemson University. At camp, half a dozen more contests in addition to a full schedule of computing-related and extracurricular activities fill out the week of activities. At the end of camp, the top 4 students are selected by the USACO staff to represent the USA at the International Olympiad in Informatics (IOI). USACO 2019-2020 contest schedule is listed below

    Dec 13-16, 2019: First Contest
    Jan 17-20, 2020: Second Contest
    Feb 21-24, 2020: Third Contest
    Mar 27-30, 2020: US Open
    May 21-30, 2020: Training Camp
    Jul 19-26: IOI 2020 in Singapore

    Competition programming is a skill, not a memorized curriculum - students compete at a particular level until they have gotten fast enough and sophisticated enough to proceed to the next level.

    Specifically, USACO is a computer programming and problem solving competition for middle school and high school students in the USA, though students from around the world also participate. USACO offers four to six competitions during an academic year at four increasingly difficult levels: Bronze, Silver, Gold and Platinum. Participants in USACO contests submit computer programs in one of five programming languages: C, C++, Java, Pascal, and Python though C and Pascal are rarely used by students. Students at SME may choose any of three most popular programming languages (Python, Java and C++) to write code in the classroom and during USACO competition. Participants advance through the levels by performing well in their current division; some students may even be promoted through multiple divisions all in the same contest. More information about the United States of America Computing Olympiad (USACO), and sample contest challenges from past years, can be found on its official website: http://www.usaco.org/

    The very best performers in the USACO contests are invited to an elite training camp each June, and of those attendees, just 4 high schoolers are chosen to represent the United States each year in the International Olympiad in Informatics https://ioinformatics.org/. 

    Online USACO Contests

    The USACO contests are an open-book online computer programming competition. Students complete the contest problems on their own computer at home. USACO holds periodic web-based contests during the academic year, and in the late spring conducts the US Open, the "national championship" exam. Contests generally run for three to five continuous hours in length, although for maximum flexibility, you are free to schedule this block of time anywhere within a Friday-to-Monday contest weekend --- your timer starts when you log into the contest and download the problems. You submit your final solutions through a simple web interface. Participation is free and open to all. Contests are offered in four divisions:

    Bronze, for students who have recently learned to program, but who have no training in algorithms beyond basic concepts like sorting and binary search.

    Silver, for students who are beginning to learn fundamental problem-solving techniques (e.g., recursive search, greedy algorithms) and fundamental data structures.

    Gold, where students encounter more standard algorithms of a more complex nature (e.g., shortest paths, dynamic programming) and more advanced data structures.

    Platinum, for advanced students who are well grounded in algorithmic problem-solving techniques, who wish to challenge themselves with sophisticated and more open-ended problems.

    All participants start in the Bronze Division, and those who score particularly well in a contest will be promoted to the next division. Contestants scoring particularly highly (nearly perfect score) will be automatically promoted to the next division while a contest is still running, and they can take next-division contest during the same contest weekend. Others will need to wait until results are announced a few weeks after the contest to see if they meet the (contest-dependent) cutoff for promotion.

    Why USACO is getting so popular?

    More and more middle school and high school students around the world participate in USACO contests. In last nine years, number of USACO contestants in December increased over 700%.

  • Why more and more students take USACO contests?

    1)     Each year hundreds of thousands of students take AMC math contests with intense competition. However, USACO is still at its early stage and its annual participants are less than 30,000. Fewer participants mean a better chance to succeed. Any student with good knowledge of algebra are ready to take USACO training courses and contests.

    2)     USACO contests are taken at the student’s home and on the student’s computer. It is also an open-book contest. The contest time is flexible and can be chosen within four days. Students can take the contest with ease and comfort. It is a blessing for stressful and frustrated teenagers.

    3)     USACO is a low-cost and time-saving contest without registration fee and out-of-town travel hassles and expenses.

    4)     A student may achieve a prominent USACO status in a short time. For example, a middle school student may achieve USACO Gold status in two (2) years.

    5)     Students from over 70 countries take USACO contests. The USACO contest award is a precious ticket to enter elite colleges around the world.

    6)     Good computer programming skills acquired through USACO contests will boost their grades of AP Computer Science classes and lead to highly-selective STEM summer camps and internships

    7)     USACO contests improve students’ technical literacy in an ever more digital world. Competing on technical tasks under pressure boosted students’ self-confidence.

  • Why learn computer programming?

    For many centuries, the ability to read - “literacy” - was the hallmark of the cultured and sophisticated individual.  Today, almost everyone can read; but with the rise of computing, “computer literacy” is now expected to replace regular book literacy as the need-to-know skill.

    Almost everyone can use a computer to some extent, but the very highest honor and skill in computing is the ability to control computers, through the art of programming them.  Currently, only 3% of Americans can code. Indeed, as the world becomes more automated, especially with the rise of artificial intelligence (AI), it is expected that those who know how to program computers will be some of the most privileged and respected members of society.  They will have the most exciting jobs, and also see the fastest growth in their careers, and the highest salaries, something we are already beginning to see in Silicon Valley today. The tech industry is one of the biggest industries in the US. It employs almost seven (7) million people and is growing continuously at a rate of 3% per year while many other industries are declining. Over one million good-paying technology job openings are unfilled currently in the US because of no qualified applicants. 

    Shengmeng Education (SME) Center in Pleasanton is pleased to get your student ahead of the curve, offering year-round Java and Python programming courses. Students will learn basic programming skills, advanced concepts in data structures, computing algorithms and software engineering, and gain the ability to solve complex problems. Meanwhile, for those participating in our USACO competition labs, students will train to compete and win in the United States of America Computing Olympiad (USACO).

    What is the best age to learn computer programming?

    Computer programming requires understanding of variables, equations and functions. Any student who understand these concepts is ready to learn computer programming. Computer programming is an abstract thinking process. Most students begin to develop these necessary abstract thinking abilities around an age of 12-13, roughly in the 7th grade.

    However, the Python programming language has a simple syntax. Its rich graphics, animation and game programming packages make Python easy and fun to learn, and we have had a great deal of luck teaching Python programming to younger students, as young as grades 4-6. It is ideal for students to develop their passion for computer programming before teen rebellion.

    In fact, students from the 2nd grade can start to learn Snap! Coding, a fun and graphical computer programming language that is designed for elementary school students to develop passion for coding.

  • Which programming language(s) should my child study?

    In this era of information technology (IT) and artificial intelligence (AI), it is well accepted that computer programming skills are rewarded with high salary and more job opportunities. Java has been and still is the No. 1 programming language in recent 20 years in IT industry. The prestigious TIOBE Programming Community Index ranked Java as No. 1 most popular programming language based on the number of skilled engineers, courses and third party vendors. It is also the designated programming language for high school AP Computer Science course.

    Python is the fastest growing language in recent years and it is best suited for data science, web development and artificial intelligence (AI). Python is easy and fun to learn and becomes the first choice of introductory programming languages. It is ranked #3 most popular programming language by TIOBE Index, next to Java and C.

    C++ has been one of the top 3 programming languages for over 20 years. It is also one of top three languages used for USACO contests. C++ is the programming language of choice for USACO Gold and Platinum Division competition because of its best runtime performance.

    Shengmeng Education Center (SME) developed a clear pathway for students to learn computer programming. A student in Grades 3-5 should learn Snap! Coding, a graphical programming language which inspires young child to enjoy coding. Students in Grades 4-7 should learn Python to gain basic understanding of computer programming and to develop passion for coding. Python is easy and fun to learn and powerful for data science and AI. At Grades 7 and up, a student should pick up a new programming language such as C++ or Java. In high school, students may take AP Computer Science course in Java. Students who found passion in computer science and problem solving should take SME USACO courses to prepare them for USACO competition. A high rank from USACO contests is a precious ticket for high school students to enter elite colleges.

    Why learn Python programming?

    The prestigious TIOBE Programming Community Index ranked Python as the 3rd most popular programming language, behind Java and C, based on the number of skilled engineers, courses and third party vendors. Python has been ranked consistently as the No. 1 programming language by IEEE Spectrum Report. Python has been ranked for years as the most popular programming language by the Popularity of Programming Language (PYPL) website based on Google search statistics.

  • Python is the first choice of introductory computer programming languages because it is fun and easy to learn. Students at Grades 4-7 should start from Python coding, which is friendly and less intimating for young students. After that, students can learn more useful Python programming syntax and do hands-on Python coding projects. Python programming community has been growing rapidly because Python is best suited for web development, data science, machine learning, deep learning, and artificial intelligence (AI), which is supported strongly by Google, Facebook and many other top companies and universities. Python is also one of top three languages used for USACO competition. To sum up,

    1)     Python has a healthy, active and supportive community with plenty of documentation, guides, tutorials and active developers.

    2)     Python has great corporate sponsors and it is backed by Google

    3)     Python is the No. 1 choice for big data, data science, cloud computing, machine learning, deep learning, and artificial intelligence (AI).

    4)     Python has over 230,000 open source projects hosted online (https://pypi.org/ ) for free download.

    5)     Python is reliable and efficient. One can accomplish more with fewer lines of code in Python than any other language.

    6)     Python is easy and fun to learn and great for both beginners and advanced users.

    7)     Python is free and platform independent. A python code can run on Windows, Linux and Mac without any change.