版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Section1SituationalDialogue
Section2ReadingMaterial
Section3ExtendedReadingSection1SituationalDialogueCallAboutCoursesofComputerProgrammingA:Hello,thisistheadmissionsoffice.CanIhelpyou?B:Hi.I'mcallingaboutyourcontinuingeducationprogram.A:Whatwouldyouliketoknow?B:Iwanttobecomecertifiedincomputerprogramming.Doyouofferanypart-timecoursesforadultfurthereducation?A:Yes,weofferbothnightandweekendcoursesinanumberofdifferentsubjects.B:HowdoIsignup?A:Ifyougivemeyouraddress,Icanmailyouaninformationpacketandtheapplicationforms.B:Great!Section2ReadingMaterialIntroductiontoProgrammingLanguageAprogramminglanguageisusedtowritecomputerprogramsincludingapplications,utilities,andsystemsprograms.BeforetheJavaandC#programminglanguagesappeared,computerprogramswereeithercompiledorinterpreted.Acompiledprogramiswrittenasaseriesofhumanlyunderstandablecomputerinstructionsthatcanbereadbyacompilerandlinkerandtranslatedintomachinecodesothatacomputercanunderstandandrunit.Fortran,Pascal,AssemblyLanguage,C,andC++programminglanguagesarealmostalwayscompiledinthisway.Otherprograms,suchasBasic,JavaScript,andVBScript,areinterpreted.Thedifferencesbetweencompiledandinterpretedlanguagescanbeconfusing.CompilingaprogramThedevelopmentofacompiledprogramfollowsthesebasicsteps:1. Writeoredittheprogram.2. Compiletheprogramintomachinecodefilesthatarespecifictothetargetmachine.3. Linkthemachinecodefilesintoarunnableprogram(knownasanEXEfile).4. Debugorruntheprogram.InterpretingaprogramInterpretingaprogramisamuchfasterprocessthat'shelpfulfornoviceprogrammerswheneditingandtestingtheircode.Theseprogramsrunslowerthancompiledprograms.Thestepstointerpretaprogramare:1. Writeoredittheprogram.2. Debugorruntheprogramusinganinterpreterprogram.JavaandC#BothJavaandC#aresemi-compiled.CompilingJavageneratesbytecodethatislaterinterpretedbyaJavavirtualmachine.Asaresult,thecodeiscompiledinatwo-stageprocess.C#iscompiledintoCommonIntermediateLanguage,whichisthenrunbytheCommonLanguageRuntimepartoftheNETframework,anenvironmentthatsupportsjust-in-timecompilation.ThespeedofC#andJavaisalmostasfastastruecompiledlanguage.Asfarasspeedgoes,C,C++,andC#allaresufficientlyspeedyforgamesandoperatingsystems.Aretheremanyprogramsonacomputer?Fromthemomentyouturnonyourcomputer,itisrunningprograms,carryingoutinstructions,testingRAMandaccessingtheoperatingsystemonitsdrive.Eachandeveryoperationthatyourcomputerperformshasinstructionsthatsomeonehadtowriteinaprogramminglanguage.Forexample,theWindows10operatingsystemhasroughly50millionlinesofcode.Thesehadtobecreated,compiledandtested,whichisalongandcomplextask.Whatprogramminglanguagesarenowinuse?TopprogramminglanguagesforPCsareJavaandC++withC#closebehindandCholdingitsown.AppleproductsuseObjective-CandSwiftprogramminglanguages.Therearehundredsofsmallprogramminglanguagesoutthere,butotherpopularprogramminglanguagesinclude:·Python·PHP·Perl·Ruby·Go·Rust·ScalaTherehavebeenmanyattemptstoautomatetheprocessofwritingandtestingprogramminglanguagesbyhavingcomputerswritecomputerprograms,butthecomplexityissuchthat,fornow,humansstillwriteandtestcomputerprograms.ThefutureforprogramminglanguagesComputerprogrammerstendtouseprogramminglanguagestheyknow.Asaresult,theoldtried-and-truelanguageshavehungaroundforalongtime.Withthepopularityofmobiledevices,developersmaybemoreopentolearningnewprogramminglanguages.AppledevelopedSwifttoeventuallyreplaceObjective-C,andGoogledevelopedGotobemoreefficientthanC.Adoptionofthesenewprogramshasbeenslow,butsteady.TheCProgrammingLanguageIntroductiontothebasicsofCprogrammingTheCprogramminglanguageisapopularandwidelyusedprogramminglanguageforcreatingcomputerprograms.ProgrammersaroundtheworldembraceCbecauseitgivesmaximumcontrolandefficiencytotheprogrammer.Ifyouareaprogrammer,orifyouareinterestedinbecomingaprogrammer,thereareacoupleofbenefitsyouwillgainfromlearningC.Youwillbeabletoreadandwritecodeforalargenumberofplatforms-everythingfrommicrocontrollerstothemostadvancedscientificsystemscanbewritteninC,andmanymodernoperatingsystemsarewritteninC.ThejumptotheobjectorientedC+ +languagebecomesmucheasier.C+ +isanextensionofC,anditisnearlyimpossibletolearnC+ +withoutlearningCfirst.WhatisC?Cisacomputerprogramminglanguage.ThatmeansthatyoucanuseCtocreatelistsofinstructionsforacomputertofollow.Cisoneofthousandsofprogramminglanguagescurrentlyinuse.Chasbeenaroundforseveraldecadesandhaswonwidespreadacceptancebecauseitgivesprogrammersmaximumcontrolandefficiency.Cisaneasylanguagetolearn.Itisabitmorecrypticinitsstylethansomeotherlanguages,butyougetbeyondthatfairlyquickly.Ciswhatiscalledacompiledlanguage.ThismeansthatonceyouwriteyourCprogram,youmustrunitthroughaCcompilertoturnyourprogramintoanexecutableprogramthatthecomputercanrun(execute).TheCprogramisthehuman-readableform,whiletheexecutablethatcomesoutofthecompileristhemachine-readableandexecutableform.ItmeanstowriteandrunaCprogram,youmusthaveaccesstoaCcompiler.IfyouareusingaUNIXmachine(forexample,ifyouarewritingCGIscriptsinConyourhost'sUNIXcomputer,orifyouareastudentworkingonalab'sUNIXmachine),theCcompilerisavailableforfree.Itiscalledeither"cc"or"gcc"andisavailableonthecommandline.Ifyouareastudent,thentheschoolwilllikelyprovideyouwithacompiler-findoutwhattheschoolisusingandlearnaboutit.IfyouareworkingathomeonaWindowsmachine,youaregoingtoneedtodownloadafreeCcompilerorpurchaseacommercialcompiler.AwidelyusedcommercialcompilerisMicrosoft'sVisualC+ +environment(itcompilesbothCandC++programs).Unfortunately,thisprogramcostsseveralhundreddollars.Ifyoudonothavehundredsofdollarstospendonacommercialcompiler,thenyoucanuseoneofthefreecompilersavailableontheWeb.ThesimplestCprogramLet'sstartwiththesimplestCprogramanduseitbothtounderstandthebasicsofCandtheCcompilationprocess.Typethefollowingprogramintoastandardtexteditor(vioremacsonUNIX,NotepadonWindowsorTeachTextonaMacintosh).Thensavetheprogramtoafilenamedsamp.c.Ifyouleaveoff".c",youwillprobablygetsomesortsoferrorwhenyoucompileit,somakesureyourememberthe".c".Also,makesurethatyoureditordoesnotautomaticallyappendsomeextracharacters(suchas.txt)tothenameofthefile.Here'sthefirstprogram:#include<stdio.h>intmain(){ printf("Helloworld!\n");return0;}Whenexecuted,thisprograminstructsthecomputertoprintouttheline"Helloworld!"-thentheprogramquits.Youcan'tgetmuchsimplerthanthat!Tocompilethiscode,takethefollowingsteps:OnaUNIXmachine,typegccsamp.c-osamp(ifgccdoesnotwork,trycc).ThislineinvokestheCcompilercalledgcc,asksittocompilesamp.candasksittoplacetheexecutablefileitcreatesunderthenamesamp.Toruntheprogram,typesamp(or,onsomeUNIXmachines,./samp).OnaDOSorWindowsmachineusingDJGPP,atanMS-DOSprompttypegccsamp.c-osamp.exe.ThislineinvokestheCcompilercalledgcc,asksittocompilesamp.candasksittoplacetheexecutablefileitcreatesunderthenamesamp.exe.Toruntheprogram,typesamp.Section3ExtendedReadingWhatIstheJavaLanguage?Javaisageneral-purposecomputer-programminglanguagethatisconcurrent,class-based,object-oriented,andspecificallydesignedtohaveasfewimplementationdependenciesaspossible.Itisintendedtoletapplicationdevelopers"WriteOnce,RunAnywhere"(WORA),meaningthatcompiledJavacodecanrunonallplatformsthatsupportJavawithouttheneedforrecompilation.JavaapplicationsaretypicallycompiledtobytecodethatcanrunonanyJavaVirtualMachine(JVM)regardlessofcomputerarchitecture.Asof2016,Javaisoneofthemostpopularprogramminglanguagesinuse,particularlyforclient-serverwebapplications,withareported9milliondevelopers.JavawasoriginallydevelopedbyJamesGoslingatSunMicrosystems(whichhassincebeenacquiredbyOracleCorporation)andreleasedin1995asacorecomponentofSunMicrosystems'Javaplatform.ThelanguagederivesmuchofitssyntaxfromCandC+ +,butithasfewerlow-levelfacilitiesthaneitherofthem.TheoriginalandreferenceimplementationJavacompilers,virtualmachines,andclasslibrarieswereoriginallyreleasedbySununderproprietarylicenses.AsofMay2007,incompliancewiththespecificationsoftheJavaCommunityProcess,SunrelicensedmostofitsJavatechnologiesundertheGNUGeneralPublicLicense.OthershavealsodevelopedalternativeimplementationsoftheseSuntechnologies,suchastheGNUCompilerforJava(bytecodecompiler),GNUClasspath(standardlibraries),andIcedTea-Web(browserpluginforapplets).ThelatestversionofJavaLTSisJava17,releasedinSeptember2021.ThisisaLongTermSupport(LTS)version,whichmeansitwillreceiveatleast8yearsofsecurityupdatesandfixes.Java17hasbroughtsomenewfeatures,suchaspatternmatching,sealedclasses,textblocks,etc.,improvingthereadabilityandflexibilityofthecode.IfyouwanttousethelatestJavatechnologyanddon'tmindupdatingyourcodefrequently,Java17maybeagoodchoice.ObjectOrientedProgrammingObjectOrientedProgramming(OOP)isatermlooselyappliedtomeananykindofprogrammingthatusesaprogramminglanguagewithsomeobjectorientedconstructsorprogramminginanenvironmentwheresomeobjectorientedprinciplesarefollowed.Itisaprogrammingparadigmthatuses"objects"-datastructuresconsistingofdatafieldsandmethodstogetherwiththeirinteractions-todesignapplicationsandcomputerprograms.ObjectOrientedProgramminghasrootsthatcanbetracedtothe1960s.Ashardwareandsoftwarebecameincreasinglycomplex,manageabilityoftenbecameaconcern.ResearchersstudiedwaystomaintainsoftwarequalityanddevelopedObjectOrientedProgramminginparttoaddresscommonproblemsbystronglyemphasizingdiscrete,reusableunitsofprogramminglogic.Thetechnologyfocusesondataratherthanprocesses,withprogramscomposedofself-sufficientmodules("classes"),eachinstanceofwhich("objects")containsalltheinformationneededtomanipulateitsowndatastructure("members").Thisisincontrasttotheexistingmodularprogrammingwhichhadbeendominantformanyyearsthatfocusedonthefunctionofamodule,ratherthanspecificallythedata,butequallyprovidedforcodereuse,enablingcollaborationthroughtheuseoflinkedmodules("subroutines").Thismoreconventionalapproach,whichstillpersists,tendstoconsiderdataandbehaviorseparately.OOPwasnotcommonlyusedinmainstreamsoftwareapplicationdevelopmentuntiltheearly1990s.ManymodernprogramminglanguagesnowsupportOOP.OneoftheprincipaladvantagesofObjectOrientedProgrammingtechniquesoverproceduralprogrammingtechniquesisthattheyenableprogrammerstocreatemodulesthatdonotneedtobechangedwhenanewtypeofobjectisadded.Aprogrammercansimplycreateanewobjectthatinheritsmanyofitsfeaturesfromexistingobjects.Otherpiecesofsoftwarecanaccesstheobjectonlybycallingitsfunctionsandproceduresthathavebeenallowedtobecalledbyoutsiders.Thismakesobjectorientedprogramseasiertomodify.Anobjectorientedprogrammaythusbeviewedasacollectionofinteractingobjects,asopposedtotheconventionalmodel,inwhichaprogramisseenasalistoftasks("subroutines")toperform.InOOP,eachobjectiscapableofreceivingmessages,processingdata,andsendingmessagestootherobjectsandcanbeviewedasanindependent"machine"withadistinctroleorresponsibility.TheimportantprinciplesofObjectOrientedProgrammingarelistedbelow:ClassAclassisablueprintthatdefinesthevariablesandthemethodscommontoallobjectsofacertainkindandisusedtomanufactureorcreateobjects.Itdefinestheabstractcharacteristicsofathing("object").Forexample,theclassCarwouldconsistoftraitssharedbyallcars,suchasbrandandcolor("characteristics"),andtheabilitytomove.Classesprovidemodularityandstructureinanobjectorientedcomputerprogram.Aclassshouldtypicallyberecognizabletoanon-programmerfamiliarwiththeproblemdomain,meaningthatthecharacteristicsoftheclassshouldmakesenseincontext.Collectively,thepropertiesandmethodsdefinedbyaclassarecalled"members".ObjectAnobjectisalsoknownasaninstance.Itisasoftwarebundleofrelatedstateandbehavior.Itisaninstance(thatis,anactualexample)ofaclass.Softwareobjectsareoftenusedtomodelthereal-worldobjectsthatyoufindineverydaylife.Itconsistsofstateandthebehaviorthat'sdefinedintheobject'sclass.Forexample,theclassCarprovidesapatternorblueprintforcarobjectsbylistingthecharacteristicsandbehaviorstheycanhave;theobjectcarwithplatenumber"皖C35828"isoneparticularcar.MessageSoftwareobjectsinteractandcommunicatewitheachotherbysendingmessagestoeachother.WhenobjectAwantsobjectBtoperformoneofB'smethods,objectAsendsamessagetoobjectB.Forexample,theobjectcalleddrivermayfireacartostartupbypassinga"fire"messagewhichinvokesthecar's"fire"method.InheritanceInheritanceisawaytoformnewclassesbyusingclassesthathavealreadybeendefined.Inheritanceisemployedtohelpreuseexistingcodewithlittleornomodification.Thenewclasses,knownassub-classes,inheritattributesandbehaviorofthepre-existingclasses,whicharereferredtoassuper-classes.Theinheritancerelationshipofsub-classesandsuper-classesgivesrisetoahierarchy.Forexample,theclassCarmighthavesub-classescalledLorry,Motorcycle,andCarriage.SupposetheCarclassdefinesamethodcalledbrakeandapropertycalledwheelbase.Eachofitssub-classes(Lorry,Motorcycle,andCarriage)willinheritthesemembers,meaningthattheprogrammeronlyneedstowritethecodeforthemonce.HowtoLearnaProgrammingLanguageIfyouhaveaninterestincreatingcomputerprograms,mobileapps,websites,gamesoranyotherpieceofsoftware,you'llneedtolearnhowtoprogram.Programsarecreatedthroughtheuseofaprogramminglanguage.Thislanguageallowstheprogramtofunctionwiththemachineitisrunningon,beitacomputer,amobilephone,oranyotherpieceofhardware.ChoosingalanguageDetermineyourareaofinterest.Youcanstartlearningwithanyprogramminglanguage(thoughsomearedefinitely"easier"thanothers),soyou'llwanttostartbyaskingyourselfwhatyouwanttoaccomplishbylearningaprogramminglanguage.Thiswillhelpyoutodeterminewhattypeofprogramminglanguageyoushouldpursue,andprovideyouagoodstartingpoint.Ifyouwanttogetintowebdevelopment,you'llhaveawholedifferentsetoflanguagesthatyou'llneedtolearnasopposedtodevelopingcomputerprograms.Mobileappdevelopingrequiresadifferentskillsetcomparedwithmachineprogramming.Allofthesedecisionswillinfluenceyourdirection.Considerstartingwitha"simpler"language.Regardlessofyourdecision,youmaywanttoconsiderstartingwithoneofthehigh-level,simplerlanguages.Theselanguagesareespeciallyusefulforbeginners,astheyteachbasicconceptsandthoughtprocessesthatcanapplytovirtuallyanylanguage.ThetwomostpopularlanguagesinthiscategoryarePythonandRuby.Thesearebothobject-orientedwebapplicationlanguagesthatuseaveryreadablesyntax."Object-oriented"meansthatthelanguageisbuiltaroundtheconceptsof"objects",orcollectionsofdata,andtheirmanipulation.ThisisaconceptthatisusedinmanyadvancedprogramminglanguagessuchasC+ +,Java,Objective-C,andPHP.Readthroughsomebasictutorialsforavarietyoflanguages.Ifyou'restillnotsurewhichlanguageyoushouldstartlearning,readthroughsometutorialsforafewdifferentlanguages.Ifonelanguagemakesabitmoresensethantheothers,tryitoutforabittoseeifitclicks.Therearecountlesstutorialsforeveryprogramminglanguageavailableonline,includingmanyonwikiHow:·Python-Agreatstarterlanguagethatisalsoquitepowerfulwhenyougetfamiliarwithit.Usedformanywebapplicationsandanumberofgames.·Java-Usedincountlesstypesofprograms,fromgamestowebapplicationstoATMsoftware.·HTML-Anessentialstartingplaceforanywebdeveloper.HavingahandleonHTMLisvitalbeforemovingontoanyothersortofwebdevelopment.·C-Oneoftheolderlanguages,Cisstillapowerfultool,andisthebasisforthemoremodernC+ +,C#,andObjective-C.StartingsmallLearnthecoreconceptsofthelanguage.Whilethepartsofthisstepthatapplywillvarydependingonthelanguageyouchoose,allprogramminglanguageshavefundamentalconceptsthatareessentialtobuildingusefulprograms.Learningandmasteringtheseconceptsearlywillmakeiteasiertosolveproblemsandcreatepowerfulandefficientcode.Belowarejustsomeofthecoreconceptsfoundinmanydifferentlanguages.Variables-Avariableisawaytostoreandrefertochangingpiecesofdata.Variablescanbemanipulated,andoftenhavedefinedtypessuchas"integers""characters",andothers,whichdeterminethetypeofdatathatcanbestored.Whencoding,variablestypicallyhavenamesthatmakethemsomewhatidentifiabletoahumanreader.Thismakesiteasiertounderstandhowthevariableinteractswiththerestofthecode.Conditionalstatements-Aconditionalstatementisanactionthatisperformedbasedonwhetherthestatementistrueornot.Themostcommonformofaconditionalstatementisthe"If-Then"statement.Ifthestatementistrue(e.g.x=5)thenonethinghappens.Ifthestatementisfalse(e.g.x!=5),thensomethingelsehappens.Functionsorsubroutines-Theactualnameforthisconceptmaybecalledsomethingdifferentdependingonthelanguage.Itcouldalsobe"Procedure"a"Method",ora"CallableUnit".Thisisessentiallyasmallerprogramwithinalargerprogram.Afunctioncanbe"called"bytheprogrammultipletimes,allowingtheprogrammertoefficientlycreatecomplexprograms.Datainput-Thisisabroadconceptthatisusedinnearlyeverylanguage.Itinvolveshandlingauser'sinputaswellasstoringthatdata.Howthatdataisgathereddependonthetypeofprogramandtheinputsavailabletotheuser(keyboard,file,etc.).ThisiscloselylinkedtoOutput,whichishowtheresultisreturnedtotheuser,beitdisplayedonthescreenordeliveredinafile.Installanynecessarysoftware.Manyprogramminglanguagesrequirecompilers,whichareprogramsdesignedtotranslatethecodeintoalanguagethatthemachinecanunderstand.Otherlanguages,suchasPython,useaninterpreterwhichcanexecutetheprogramsinstantlywithoutcompiling.SomelanguageshaveIDEs(IntegratedDevelopmentEnvironment)whichusuallycontainacodeeditor,acompilerand/orinterpreter,andadebugger.Thisallowstheprogrammertoperformanynecessaryfunctioninoneplace.IDEsmayalsocontainvisualrepresentationsofobjecthierarchiesanddirectories.Thereareavarietyofcodeeditorsavailableonline.Theseprogramsofferdifferentwaysofhighlightingsyntaxandprovideotherdeveloper-friendlytools.CreatingyourfirstprogramFocusononeconceptatatime.Oneofthefirstprogramstaughtforanylanguageisthe"HelloWorld"program.Thisisaverysimpleprogramthatdisplaysthetext"HelloWorld"(orsomevariation),onscreen.Thisprogramteachesfirst-timeprogrammersthesyntaxtocreateabasic,functioningprogram,aswellashowtohandledisplayingoutput.Bychangingthetext,youcanlearnhowbasicdataishandledbytheprogram.BelowaresomewikiHowguidesoncreatinga"HelloWorld"programinvariouslanguages:·HelloWorldinPython·HelloWorldinRuby·HelloWorldinC·HelloWorldinPHP·HelloWorldinC#·HelloWorldinJavaLearnthroughdeconstructionofonlineexamples.Therearethousandsofcodeexamplesonlineforvirtuallyeveryprogramminglanguages.Usetheseexamplestoexaminehowvariousaspectsofthelanguageworkandhowdifferentpartsinteract.Takebitsandpiecesfromvariousexamplestocreateyourownprograms.Examinethesyntax.Thesyntaxisthewaythelanguageiswrittensothatthecompilerorinterpretercanunderstandit.Eachlanguagehasauniquesyntax,thoughsomeelementsmaybesharedacrossmultiplelanguages.Learningthesyntaxisessentialforlearninghowtoprograminthelanguage,andisoftenwhatpeoplethinkofwhentheythinkaboutcomputerprogramming.Inreality,itissimplythefoundationuponwhichmoreadvancedconceptsarebuilt.Experimentwithchanges.Makechangestoyourexampleprogramsandthentesttheresult.Byexperimenting,youcanlearnwhatworksandwhatdoesn'tmuchquickerthanbyreadingabookorguide.Don'tbeafraidtobreakyourprogram;learningtofixerrorsisamajorpartofanydevelopmentprocess,andnewthingsalmostneverworkrightthefirsttime.Startpracticingdebugging.Whenyou'reprogramming,you'reinvariablygoingtocomeacrossbugs.Theseareerrorsintheprogram,andcanmanifestvirtuallyanywhere.Bugscanbeharmlessquirksintheprogram,ortheycanbemajorerrorsthatstoptheprogramfromcompilingorrunning.Huntingdownandfixingtheseerrorsisamajorprocessinthesoftwaredevelopmentcycle,sogetusedtodoingthisearly.Asyouexperimentwithchangingbasicprograms,you'regoingtocomeacrossthingsthatdon'twork.Figuringouthowtotakeadifferentapproachisoneofthemostvaluableskillsyoucanhaveasaprogrammer.Commentallofyourcode.Nearlyallprogramminglanguageshavea"comment"functionthatallowsyoutoincludetextthatisnotprocessedbytheinterpreterorcompiler.Thisallowsyoutoleaveshort,butclear,human-languageexplanationsofwhatthecodedoes.Thiswillnotonlyhelpyourememberwhatyourcodedoesinalargeprogram,itisanessentialpracticeinacollaborativeenvironment,asitallowsotherstounderstandwhatyourcodeisdoing.PracticingregularlyCodedaily.Masteringaprogramminglanguagetakestimeaboveallelse.EvenasimplerlanguagelikePython,whichmayonlytakeadayortwotounderstandthebasicsyntax,buttakeslotsoftimetobecometrulyproficientat.Likeanyotherskills,practiceisthekeytobecomingmoreproficient.Trytospendatleastsometimeeachdayoncoding,evenifit'sonlyanhourbetweenworkanddinner.Setgoalsforyourprograms.Bysettingattainablebutchallenginggoals,youwillbeabletostartsolvingproblemsandcomingupwithsolutions.Trytothinkofabasicapplication,suchasacalculator,anddevelopawaytomakeit.Usethesyntaxandconceptsyou'vebeenlearningandapplythemtopracticaluses.Talkwithothersandreadotherprograms.Therearelotsofprogrammingcommunitiesdedicatedtospecificlanguagesordisciplines.Findingandparticipatinginacommunitycandowondersforyourlearning.Youwillgainaccesstoavarietyofsamplesandtoolsthatcanaidyouinyourlearningprocess.Readingotherprogrammers'codecaninspireyouandhelpyoutograspconceptsthatyouhaven'tmasteredyet.Checkoutprogrammingforumsandonlinecommunitiesforyourlanguageofchoice.Makesuretoparticipateandnotjustconstantlyaskquestions.ThesecommunitiesareusuallyviewedasaplaceofcollaborationanddiscussionandnotsimplyQ&A.Feelfreetoaskforhelp,butbepreparedtoshowyourworkandbeopentotrydifferentapproaches.Onceyouhavesomeexperienceunderyourbelt,considerattendingahack-a-thonorprogrammingjam.Theseareeventswhereindividualsorteamscompeteagainsttheclocktodevelopafunctionalprogram,usuallybasedaroundaspecifictheme.Theseeventscanbealotoffunandareagreatwaytomeetotherprogrammers.Challengeyourselftokeepitfun.Trytodothingsthatyoudon'tknowhowtodoyet.Researchwaystoaccomplishthetask(orasimilarone),andthentrytoimplementthatinyourownprogram.Trytoavoidbeingcontentwithaprogramthat"basically"works;doeverythingyoucantomakesureeveryaspectworksflawlessly.ExpandingyourknowledgeTakeafewtrainingcourses.Manyuniversities,communitycollegesandcommunitycentersofferprogrammingclassesandworkshopsthatyoucanattendwithouthavingtoenrollintheschool.Thesecanbegreatfornewprogrammers,asyoucangethands-onhelpfromanexperiencedprogrammer,aswellasnetworkwithotherlocalprogrammers.Buyorborrowabook.Therearethousandsofinstructionalbooksavailableforeveryconceivableprogramminglanguage.Whileyourknowledgeshouldnotcomestrictlyfromabook,theymakegreatreferencesandoftencontainalotofgoodexamples.Studymathandlogic.Mostprogramminginvolvesbasicarithmetic,butyoumaywanttostudymoreadvancedconcepts.Thisisespecial
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流企业仓储服务合同
- 智能酒店管理系统规划与设计合同
- 智慧社区建设与管理咨询合同
- 在线摄影教育平台内容制作合同
- 人工智能辅助智能家居控制系统合同
- 2023届高考化学鲁科版一轮复习热点强化练16 沉淀溶解平衡图像
- 2024地下水井挖掘协议样本
- 北京住宅买卖格式协议样本
- 贷款服务协议翻译(2024专业)
- 多人保证责任详解:2024年协议范本
- 断裂力学与断裂韧性
- 焊接方法代号(数字+字母)
- 浅谈从阅读、生活、作文中积累语言
- 简洁卡通生日快乐贺卡模板
- 电磁辐射计算
- 药事管理委员会会议纪要
- 不锈钢方管尺寸及理论重量重量表
- 【公开课课件】高中英语读后续写(整合)
- 网球教练求职简历模板免费下载
- 个人喜好调查问卷
- 引发剂I分解(课堂PPT)
评论
0/150
提交评论