




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陀螺果育苗技术规程
- 2025年南昌县公安局招聘警务辅助人员考试笔试试题【答案】
- 2025年超铀元素及其提取设备合作协议书
- 河南大学科技成果转化基金项目申请书
- 项目策划编制指南
- 大学生寒假.实践报告(卖春联)
- 2025产科护士个人工作计划
- 2025年医用超声诊断设备项目发展计划
- 2025年太阳能电池背膜项目发展计划
- 工作坊聚焦教育技术与教学质量的双重提升
- 2024年安徽省合肥市北城片区七年级数学第一学期期末学业水平测试试题含解析
- 2025至2030中国铜冶炼行业发展现状及应用需求现状分析报告
- 农业保险培训课件
- 茶园租赁合同(含茶叶加工销售)
- 2025至2030全球及中国浮式液化天然气行业产业运行态势及投资规划深度研究报告
- 药品连锁总部管理制度
- 2025至2030中国家用清洁工具行业发展趋势分析与未来投资战略咨询研究报告
- 20250617国金证券机器人行业研究垂直领域具身智能机器人的野望416mb
- 数字时代亲属关系重构-洞察及研究
- 管理类本科论文
- 招商人员笔试题目及答案
评论
0/150
提交评论